0

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!

2
  • Use .each and generate object? Commented Jun 5, 2016 at 13:33
  • Should be just as easy to make quantity and meters into an array and add to that array right? The problem is that it doesn't add to the array but it only picks up the first value from the form Commented Jun 5, 2016 at 13:35

1 Answer 1

2

$("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());
}); 
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.