duan0714 2016-06-05 13:31
浏览 31
已采纳

向数组添加多个输入

Hi there I'm running into the following problem:

I have a form that gets loaded with Ajax with a couple of input field that must have the same name. What I'm trying to do is to add the values from the input fields to an array so I can send it with ajax to php. The problem is, I only get the value from the first input (so it doesn't add to the array)

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

Any help would be great, Thanks!

  • 写回答

1条回答 默认 最新

  • dongxia8656 2016-06-05 13:41
    关注

    $("input[name='item_item_quantity[]']").val(); returns value of first element of a set. You can read it in a manual.

    If you want all values from set of elements, iterate this set, for example:

    var vals = [];
    $("input[name='item_item_quantity[]']").each(function() {
        vals.push($( this ).val());
    }); 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?