I want to get values of the input element that those elements are under the same name, name="items[]"
for example:
<div>...<input type="text" name="items[]" value="1" /></div>
<div>...<input type="text" name="items[]" value="2" /></div>
<div>...<input type="text" name="items[]" value="3" /></div>
And I wish to get the result something like:
[1, 2, 3] //that store in an javascript variable.
Do I need to do a loop to access all the elements to get its value?
Please give me a good solution either javascript or JQuery.
Thanks
var input = document. getElementsByName('array[]'); The document. getElementsByName() method is used to return all the values stored under a particular name and thus making input variable an array indexed from 0 to number of inputs.
To find the position of an element in an array, you use the indexOf() method. This method returns the index of the first occurrence the element that you want to find, or -1 if the element is not found. The following illustrates the syntax of the indexOf() method.
var values = [];
$("input[name='items[]']").each(function() {
values.push($(this).val());
});
JavaScript only:
var values = [];
var fields = document.getElementsByName("items[]");
for(var i = 0; i < fields.length; i++) {
values.push(fields[i].value);
}
Warning, see: getElementsByName in IE7
Or use jQuery's map function:
$("div input[name='items[]']").map( function() { return $(this).val(); } ).get();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With