我有这个HTML:

<form id='myform'>
<input name='title' value='foo'/>
</form>

我创建的一个目列从它这样的:

var dataArray = $("#myform").serializeArray();

现在怎么做我的访问'title'在dataArray?这不工作:

alert(dataArray['title']);
alert(dataArray['title'].val());
有帮助吗?

解决方案

什么尼克贴相似,但是干净了一点

var dataArray = $("#myform").serializeArray(),
    dataObj = {};

$(dataArray).each(function(i, field){
  dataObj[field.name] = field.value;
});

然后访问相同的方式

alert(dataObj['title']);

其他提示

你可以回路过, 作为@汤姆...或者,如果你访问超过一个,是位更有效率和一次循环,创造一个对象是这样的:

var dataArray = $("#myform").serializeArray(),
    len = dataArray.length,
    dataObj = {};

for (i=0; i<len; i++) {
  dataObj[dataArray[i].name] = dataArray[i].value;
}

然后你可以访问它喜欢你想要的,例如:

alert(dataObj['title']); //or alert(dataObj.title);

你可以测试它在这里.

alert(dataArray[0].name);
alert(dataArray[0].value);

所以:

for (i=0; i<dataArray.length; i += 1) {
    if (dataArray[i].name === "title") {
        // do something here...
    }
}

运行console.log(dataArray);,然后打开属性检查,并检查控制台。在Chrome中,你会点击鼠标右键,选择“检查元素”,然后单击左下角的“> =”寻找图标,这是从左侧第二。

在Firefox中你会安装萤火,有一个叫“控制台”标签

不知道这是否可以在IE浏览器,可能是一些在开发工具(按<大骨节病> F12 ),但我不建议在IE浏览器开发。

反正这会列出的方式,可以让你浏览和查看每个项目的值的对象。这样,那么你可以使用这个破译如何访问值:)

好运

添加此反正去帮助别人的未来。好的方法来快速检查所有值。

var formdata = $( "#myform" ).serializeArray();
var formdata = JSON.stringify(formdata);
alert (formdata);

附加/回波/打印dataArray[0].name到一个div会给你 '标题'

警报的在myDiv输入serializeArray(注意::input选择器将包括选择和textarea的标签,以及!):

//alert(fData.length) // how many inputs got picked up 
var fData=$("#myDiv :input").serializeArray();
var msg=""; 
for(var i=0;i<fData.length;i++){
    var raKy=Object.keys(fData[i]); 
    msg+="\n"+raKy[0]+":"+eval("fData[i]."+raKy[0])+" "+raKy[1]+":"+eval("fData[i]."+raKy[1]); 
}
alert(msg);

随着uderscore.js,这是我们如何去了解它:

var serializedArray = $('form#spiderman-application').serializeArray();

var serializedObject = _.object(
  _.pluck(serializedArray, 'name'), 
  _.pluck(serializedArray, 'value')
)

console.log(serializedObject);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>

<form id="spiderman-application">
  <legend>Application Form</legend>
  <input name="./fname" value="Peter" />
  <input name="./lname" value="Parker" />
</form>

好运...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top