2013-12-19 2 views
0

Есть ли способ получить значение :input в jQuery, который хранится для всех :input?jQuery Общая функция для получения значения: селектор входов

Я спрашиваю это потому, что у меня есть страница с select и checkbox, то на следующий код:

for (var i = 0; i < arguments.length; i++) { 
     var localArgument = arguments[i].trim(); 
     data[localArgument] = $(html).find(":input[name='" + localArgument + "']").val(); 
     $(html).on("change", ":input[name='" + localArgument + "']", function(event) { 
      console.log(localArgument + ": " + $(this).val()); 
      data[localArgument] = $(this).val(); 
      reloadTable(table, html, data); 
     }); 
    } 

Где arguments массив, который содержит имена элементов.

Я знаю, что мне нужно сделать это для checkbox с .prop("checked"), однако я бы скорее использовал общую функцию, которая, как я знаю, не нуждается в обновлении в будущем.

ответ

0

просто использовать $('input') селектор, чтобы выбрать все input элементов

Если вы хотите, чтобы получить значение каждого входного элемента вы можете сделать что-то вроде

$('input').each(function() { 
    // use $(this).val() to get the value 
}) 
+0

Если вы не ищете все 'input', вы можете использовать [JQuery Has Attribute Selector] (http://api.jquery.com/has-attribute-selector/) , как этот '$ ('input [name]')'! – aledpardo

+0

Это не работает для 'input [type = 'checkbox']', поскольку вам нужно использовать '.prop ('checked')' там. – skiwi

+0

Значок @skiwi имеет значение. Вопрос OP касался возвращаемых значений. –

0

Вы можете безопасно использовать val() для всех входов, флажки , переключатели и выбор. Это демо-версия: http://jsfiddle.net/FxjQB/3

Смежные вопросы