jQuery ajax - serializeArray() 方法
实例
输出以数组形式序列化表单值的结果:
$("button").click(function(){ x=$("form").serializeArray(); $.each(x, function(i, field){ $("#results").append(field.name + ":" + field.value + " "); }); });
定义和用法
serializeArray() 方法通过序列化表单值来创建对象数组(名称和值)。
您可以选择一个或多个表单元素(比如 input 及/或 textarea),或者 form 元素本身。
语法
$(selector).serializeArray()
详细说明
serializeArray() 方法序列化表单元素(类似 .serialize() 方法),返回 JSON 数据结构数据。
注意:此方法返回的是 JSON 对象而非 JSON 字符串。需要使用插件或者第三方库进行字符串化操作。
返回的 JSON 对象是由一个对象数组组成的,其中每个对象包含一个或两个名值对 —— name 参数和 value 参数(如果 value 不为空的话)。举例来说:
[ {name: 'firstname', value: 'Hello'}, {name: 'lastname', value: 'World'}, {name: 'alias'}, // အတ္ထုပ် မမြောက် ]
.serializeArray() မူကြမ်း သုံးစွဲမှုက ဝီကီစင်း အောက်ပါ အချက်အလက်ကို အသုံးပြု၍ successful controlsအောက်ပါ အချက်အလက်ကို အသုံးပြု၍ အသုံးပြုနိုင်သည့် အချက်အလက်များ ကို စစ်ဆေးတွေ့ရှိရမည်။ အထူးသတိပြုချက်၊ အချက်အလက်များ ပိတ်ထားပါ (ပိတ်ထားသော အချက်အလက်များ ပါဝင်လိမ့်မည်) နှင့် အချက်အလက်များ အမည်အချက်အလက် ရှိသည့် သုံးစွဲမှုများသာ ပါဝင်သည်။ တင်ပြသည့် ပေါင်းစား အချက်အလက်များ နှင့် ဖိုင် ရွေးချယ်သည့် အချက်အလက်များ ကို ပါဝင်လိမ့်မည်)။
ဤတုန်း သုံးစွဲမှုက သတ်မှတ်ထားသော ပထမပိုင်း ပါဝင်သည့် သုံးစွဲမှုများကို ပြုပြင်နိုင်သည်၊ ဥပမာ၊ <input>, <textarea>, နှင့် <select> များဖြစ်သည်။ သို့သော်၊ <form> အချက်အလက် ကို များသောအားဖြင့် ကျသည်။
$("form").submit(function() { console.log($(this).serializeArray()); return false; });
အထက်အသုံးပြုထားသော ဝီကီချုပ် သည် အောက်ပါ အခြေအနေ ကို ထုတ်လွှတ်သည် (အက်ဥပဒေအောက်ခံ ဝီကီချုပ် အား ထောက်ပံ့ပေးသည်)
[ { name: a value: 1 }, { name: b value: 2 }, { name: c value: 3 }, { name: d value: 4 }, { name: e value: 5 } ]
ကြော်ငြာ
ပုံစံအသုံးချက် ကို ဝီကီချုပ် သို့ ထည့်သွင်းခြင်း
HTML ဝီကီချုပ်
<p id="results"><b>Results:</b> </p> <form> <select name="single"> <option>Single</option> <option>Single2</option> </select> <select name="multiple" multiple="multiple"> <option selected="selected">Multiple</option> <option>Multiple2</option> <option selected="selected">Multiple3</option> </select><br/> <input type="checkbox" name="check" value="check1"/> check1 <input type="checkbox" name="check" value="check2" checked="checked"/> check2 <input type="radio" name="radio" value="radio1" checked="checked"/> radio1 <input type="radio" name="radio" value="radio2"/> radio2 </form>
jQuery ဝီကီချုပ်
var fields = $("select, :radio").serializeArray(); jQuery.each( fields, function(i, field){ $("#results").append(field.value + " "); });