Как собрать атрибут формы «имя» и «значение» в массив из определенной части формы, используя JavaScript? - PullRequest
2 голосов
/ 23 ноября 2011

как собрать атрибут формы "имя" и "значение" в массив из определенной части формы, используя JavaScript?

У меня есть часть формы, подобная этой:

<div class="multiPickerForm">
<input type="text" name="Id" value="1">
<input type="text" name="OrderNumber" value="SK4569">
<span class="multiPickerItemAddBtn"></span>
</div>

Мне нужно прочитать эту часть формы, используя JavaScript и создать массив объектов, таких как.

var obj = { name:'OrderNumber', value:'SK4569' } 

или что-то в этом роде, чтобы я мог зациклить его и легко получать доступ к данным из форматированных объектов для дальнейшего развития.

Любой совет будет высоко оценен. Спасибо

Ответы [ 3 ]

2 голосов
/ 23 ноября 2011

Это должно сделать это:

var obj = [];
$("div.multiPickerForm :input").each(function () {
  var tmpPair new Object();
  tmpPair['name'] = $(this).attr('name');
  tmpPair['value'] =  = $(this).val();
  obj.push(tmpPair);
});

console.log(obj);
1 голос
/ 23 ноября 2011

Вы можете использовать serializeArray () , и он делает именно то, что вам нужно

<div class="multiPickerForm">
 <input type="text" name="Id" value="1">
 <input type="text" name="OrderNumber" value="SK4569">
 <span class="multiPickerItemAddBtn">        </span>
  </div>

$('.multiPickerForm :input').serializeArray()

РЕДАКТИРОВАТЬ - Вы можете использовать его в форме или на подмножестве элементов формы, я обновилмой пример.Взято из документации

Этот метод может воздействовать на объект jQuery, который выбрал отдельные элементы формы, такие как <input>, <textarea> и <select>.Тем не менее, обычно проще выбрать сам тег для сериализации:

скрипка здесь http://jsfiddle.net/yffr5/

0 голосов
/ 23 ноября 2011

Доступ к элементам управления в форме можно получить с помощью коллекции elements . Вы можете перебирать их, чтобы проверить, являются ли они потомками div с классом multiPickerForm .

Если они есть и они успешны, поместите их в массив как объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...