循环输入表单

时间:2011-11-24 17:34:22

标签: jquery forms serialization loops

我有一个包含大量输入的表单。我想获取每个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方法。

3 个答案:

答案 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"

jsfiddle

上查看