Цикл через входы формы - PullRequest
       14

Цикл через входы формы

1 голос
/ 24 ноября 2011

У меня есть форма с большим количеством входов. Я хочу получить каждый идентификатор и значение, а затем поместить их в метод $ .load. Я попробовал это:

$("#form input").each(function() {
    var name = $(this).attr("id");
    var value = $(this).attr("value");
    $.extend(params, {
        name, value
    });
});

и затем используйте $.load("script.php", params);

Но, очевидно, это не работает. В параметрах у меня есть только один элемент «имя». И я не уверен, что мне следует использовать метод extension.

Ответы [ 3 ]

1 голос
/ 24 ноября 2011

Предполагая, что вы хотите построить массив объектов с двумя свойствами (имя / значение), вот код для его получения:

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
});
1 голос
/ 24 ноября 2011

Это похоже на работу

var params={};

$('input').each(function(){
    params[$(this).attr('id')] = $(this).val();
});

console.log(params);

вывод

bar: "bar"
bof: "bof"
foo: "foo"

См. Здесь на jsfiddle

1 голос
/ 24 ноября 2011

Для сериализации формы вы можете использовать jQuery serialize method , например, так:

var params = $("#form").serialize();
$.load("script.php", params);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...