我正在使用jquery .serializeArray()来获取<input>
中的所有<form>
。
我将.serializeArray()
中出现的Json对象放入jquery .data()
如何从Json对象中找到我想要的数据?
Jquery getJson()
需要一个url,但我已经拥有了Json对象。
答案 0 :(得分:2)
serializeArray()
(docs)方法不会创建JSON数据。它创建了一个对象数组,每个对象都有name
和value
属性。
如何获取数据取决于您的需求。要直接访问特定项目,您可以像访问任何其他数组和对象一样访问它。
myData[1].value;
这将获得数组中第二项的value
。
如果您需要迭代它们,可以使用jQuery.each()
(docs)
$.each( myData, function() {
var name = this.name; // the name property in the current iteration
var value = this.value; // the value property in the current iteration
console.log( name, value );
});
答案 1 :(得分:0)
jQuery.serializeArray()返回一个数组
[{
name: "a",
value: "1"
},{
name: "b",
value: "2"
},{
name: "c",
value: "3"
},{
name: "d",
value: "4"
},{
name: "e",
value: "5"
}
]
此代码依赖于Array.prototype.reduce
var formArray = $('#formid).serializeArray();
formArray.reduce(function(acc, cur, i) {
acc[cur.name] = cur.value;
return acc;
}, {});
产生这个对象
{
a: "1",
b: "2",
c: "3",
d: "4",
e: "5"
}