bar*_*art 25 jquery serializearray
我有这个HTML:
<form id='myform'>
<input name='title' value='foo'/>
</form>
Run Code Online (Sandbox Code Playgroud)
我从它创建一个对象数组,如下所示:
var dataArray = $("#myform").serializeArray();
Run Code Online (Sandbox Code Playgroud)
现在我如何访问dataArray中的'title'?这不起作用:
alert(dataArray['title']);
alert(dataArray['title'].val());
Run Code Online (Sandbox Code Playgroud)
Jas*_*son 30
与Nick发布的相似,但有点清洁
var dataArray = $("#myform").serializeArray(),
dataObj = {};
$(dataArray).each(function(i, field){
dataObj[field.name] = field.value;
});
Run Code Online (Sandbox Code Playgroud)
然后以相同的方式访问
alert(dataObj['title']);
Run Code Online (Sandbox Code Playgroud)
Nic*_*ver 29
您可以循环,因为@Tom有 ...或者如果您访问多个,请更高效并循环一次,创建一个这样的对象:
var dataArray = $("#myform").serializeArray(),
len = dataArray.length,
dataObj = {};
for (i=0; i<len; i++) {
dataObj[dataArray[i].name] = dataArray[i].value;
}
Run Code Online (Sandbox Code Playgroud)
然后您可以按照自己的意愿访问它,例如:
alert(dataObj['title']); //or alert(dataObj.title);
Run Code Online (Sandbox Code Playgroud)
Tom*_*Tom 14
alert(dataArray[0].name);
alert(dataArray[0].value);
Run Code Online (Sandbox Code Playgroud)
所以:
for (i=0; i<dataArray.length; i += 1) {
if (dataArray[i].name === "title") {
// do something here...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35613 次 |
| 最近记录: |