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 పారామిటర్ (విలువ ఖాళీ కాకపోతే). ఉదాహరణకు:
[ {name: 'firstname', value: 'Hello'}, {name: 'lastname', value: 'World'}, {name: 'alias'}, // విలువ ఖాళీ ]
.serializeArray() మాదిరిగా W3C గురించి successful controlsఅనుమతించిన కంట్రోల్స్ ప్రమాణాలకు అనుగుణంగా పరిశీలించి, ఏ ఎలమెంట్స్ చేర్చబడాలో తెలుసుకోవడానికి. ప్రత్యేకంగా, ఎలమెంట్స్ నిష్క్రియం కాకపోవాలి (నిష్క్రియం కాని ఎలమెంట్స్ చేర్చబడదు), మరియు ఎలమెంట్స్ లో name అటువంటి అంశం ఉండాలి. సమర్పణ బటన్ యొక్క విలువలను సీరియలైజేషన్ చేయబడదు. ఫైల్ ఎంపిక ఎలమెంట్స్ యొక్క డేటా కూడా సీరియలైజేషన్ చేయబడదు.
ఈ పద్ధతి అనుసరించి ఎంపికచేసిన వ్యక్తిగత ఫారమ్ ఎలమెంట్స్ పై కార్యకలాపాలు చేయవచ్చు, ఉదాహరణకు <input>, <textarea>, మరియు <select> లు. అయితే, సులభమైన పద్ధతి ఇది, నేరుగా <form> టాగ్ స్వయంగా సీరియలైజేషన్ కార్యకలాపాలు చేయడం.
$("form").submit(function() { console.log($(this).serializeArray()); return false; );
పైని కోడ్ పెరిగిన డాటా స్ట్రక్చర్ ను ప్రదర్శిస్తుంది (బ్రాసర్ కన్సోల్ లో console.log మద్దతు ఉంటే):
[ { 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 + " "); );