Ric*_*ard 3 arrays each jquery serialization
我想从我的表单中获取所有数据并将其放入可访问的数组中.这是我到目前为止所拥有的:
var data = $("#everything").serializeArray();
var test = [];
$(data).each(function(index, element) {
test[element] = element.val();
});
Run Code Online (Sandbox Code Playgroud)
我试过这个:
alert(data["fname"]);
Run Code Online (Sandbox Code Playgroud)
但是,即使文本框中有某些内容,它也会返回"未定义",这就是为什么我必须这样做.每种方法.但现在当我这样做
alert(test["fname"]);
Run Code Online (Sandbox Code Playgroud)
它甚至没有弹出消息.有谁知道我做错了什么?我只想将所有表单数据放入一个我可以通过id或输入名称访问的数组中.
关于你的代码的一些事情......首先test是一个数组,但是你将它用作对象test[element],这会带来麻烦.然后serializeArray创建一个对象数组,每个对象都包含name,value所以没有element.val(),加上我很确定element是DOM元素,所以你必须要么像jQuery一样包装它,要么再次$(element).val()使用本机属性element.value,这不会为您提供所需的价值.试试这个:
var data = $('#myform').serializeArray();
var obj = {};
for (var i = 0, l = data.length; i < l; i++) {
obj[data[i].name] = data[i].value;
}
Run Code Online (Sandbox Code Playgroud)
演示: http ://jsfiddle.net/elclanrs/KRbPg/
| 归档时间: |
|
| 查看次数: |
5674 次 |
| 最近记录: |