我有一个包含大量输入的表单。我想获取每个id和值,然后将它们放在$ .load方法中。我试过这个:
$("#form input").each(function() {
var name = $(this).attr("id");
var value = $(this).attr("value");
$.extend(params, {
name, value
});
});
然后使用$.load("script.php", params);
但显然它不起作用。在params中,我只有一个元素“name”。我也不确定是否应该使用extend方法。
答案 0 :(得分:1)
要序列化表单,您可以使用jQuery serialize method,如下所示:
var params = $("#form").serialize();
$.load("script.php", params);
答案 1 :(得分:1)
假设您要构建的是具有两个属性(名称/值)的对象数组,以下是获取它的代码:
var myparams = [];
$("form input").each(function() {
// build an object literal to store your values
var o = {
name: this.id, // no need to turn 'this' in a jquery object to get the ID
value: $(this).val() // use .val() to get the value
};
myparams.push(o); // add to the array
});
答案 2 :(得分:1)
这似乎有效
var params={};
$('input').each(function(){
params[$(this).attr('id')] = $(this).val();
});
console.log(params);
输出
bar: "bar"
bof: "bof"
foo: "foo"
上查看