2016-06-05 3 views
0

Привет там я бегу в следующей задаче:добавив несколько входов в массив

У меня есть форма, которая загружается с помощью Ajax с парой поля ввода, которые должны иметь такое же имя. То, что я пытаюсь сделать, это добавить значения из полей ввода в массив, чтобы я мог отправить его с помощью ajax в php. Проблема заключается в том, я получаю только значение от первого входа (так что не добавляет к массиву)

AJAX:

$(target).find('[name]').each(function(index, value){ 
     quantity = $("input[name='item_item_quantity[]']").val(); 
     meters  = $("input[name='item_item_meters[]']").val(); 
     data = {siteNumber : siteNumber, itemId : itemId, item_quantity : quantity, meters : meters}; 

}); 
$.ajax({ 
     url: url, 
     type: type, 
     data: data, 
     success: function(response) { 
       console.log(response); 
     } 
}); 

HTML:

<input name="item_item_quantity[]" type="text" class="input calcInput"> 
<input name="item_item_quantity[]" type="text" class="input calcInput"> 
<input name="item_item_quantity[]" type="text" class="input calcInput"> 

<input name="item_item_meters[]" type="text" class="input calcInput"> 
<input name="item_item_meters[]" type="text" class="input calcInput"> 
<input name="item_item_meters[]" type="text" class="input calcInput"> 

Любая помощь будет большое спасибо!

+0

Используйте '.each' и создать объект? –

+0

Должно быть так же просто сделать количество и метры в массиве и добавить к этому массиву правильно? Проблема в том, что он не добавляет к массиву, но он только подбирает первое значение из формы –

ответ

1

$("input[name='item_item_quantity[]']").val(); возвращает значение элемент набора. Вы можете прочитать его в manual.

Если вы хотите, чтобы все значения из множества элементов, перебирать этот набор, например:

var vals = []; 
$("input[name='item_item_quantity[]']").each(function() { 
    vals.push($(this).val()); 
}); 
+0

Превосходно, он работает! Благодаря! –

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