Существует много текстовых полей с одинаковым именем и одним и тем же классом с разными значениями, и каждый вход имеет 1 кнопку. Я получаю значение из каждого из полей, нажимая на каждую конкретную кнопку. Использование с Javascript. И я могу поместить это значение в массив, но массивы не объединяются. Если я нажму на 1-ю кнопку, в массив будет помещено определенное значение поля ввода, затем я нажму на 3-ю кнопку, первое значение в массиве будет удалено, а новое значение vlaue (значение третьей строки) будет сохранено в массиве. Как я могу хранить все значения в одном массиве на каждой кнопке.
Вот мой код.
<div> <input type="hidden" name="myvalue" class="form-control input_text" value="aaa"/> <input type="button" class="clickme" value="Get Value" /> </div> <div> <input type="hidden" name="myvalue" class="form-control input_text" value="bbb"/> <input type="button" class="clickme" value="Get Value" /> </div> <div> <input type="hidden" name="myvalue" class="form-control input_text" value="ccc"/> <input type="button" class="clickme" value="Get Value" /> </div> <div> <input type="hidden" name="myvalue" class="form-control input_text" value="ddd"/> <input type="button" class="clickme" value="Get Value" /> </div> <div> <input type="hidden" name="myvalue" class="form-control input_text" value="eee"/> <input type="button" class="clickme" value="Get Value" /> </div>
Вот мой javascript
<script type="text/javascript"> //Get the value on button click var div = $(this).closest('div'); var get_eupdid = div.find('input').val(); alert(get_eupdid); //Push the value into array. var array_id = []; array_id.push(get_eupdid); console.log( "array_id: " + array_id); </script>
Попробуйте это : нажмите функцию не там и объявите array
как глобальный
var array_id = []; $('.clickme').click(function(){ var get_eupdid= $(this).closest('div').find('input').val(); array_id.push(get_eupdid); console.log( "array_id: " + array_id); })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div> <input type="hidden" name="myvalue" class="form-control input_text" value="aaa"/> <input type="button" class="clickme" value="Get Value" /> </div> <div> <input type="hidden" name="myvalue" class="form-control input_text" value="bbb"/> <input type="button" class="clickme" value="Get Value" /> </div> <div> <input type="hidden" name="myvalue" class="form-control input_text" value="ccc"/> <input type="button" class="clickme" value="Get Value" /> </div> <div> <input type="hidden" name="myvalue" class="form-control input_text" value="ddd"/> <input type="button" class="clickme" value="Get Value" /> </div> <div> <input type="hidden" name="myvalue" class="form-control input_text" value="eee"/> <input type="button" class="clickme" value="Get Value" /> </div>
Я думаю, вы должны это проверить. Обычно нет необходимости в <input type='hidden' />
когда вы можете использовать что-то еще для хранения данных. Кроме того, он показывает вам, как с небольшим количеством CSS, если вы не хотите помещать что-то еще в те <div>
s, как вы можете это сделать.
$(function(){ var possible = ['aaa', 'bbb', 'ccc', 'ddd', 'eee'], collection = []; $('.clickme').each(function(i, e){ $(e).click(function(){ collection.push(possible[i]); console.log(collection); }); }); });
.clickme{ display:block; }
<head> <script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script> </head> <body> <div> <input type='button' class='clickme' value='Get Value' /> <input type='button' class='clickme' value='Get Value' /> <input type='button' class='clickme' value='Get Value' /> <input type='button' class='clickme' value='Get Value' /> <input type='button' class='clickme' value='Get Value' /> </div> </body>
Вам нужно сделать массив global.Right теперь вы создаете array
каждый раз, когда button
так что только current value
остается в array
var array_id = []; $(document).ready(function () { $(".clickme").click(function () { var div = $(this).closest('div'); var get_eupdid = div.find('input').val(); alert(get_eupdid); //Push the value into array. array_id.push(get_eupdid); console.log("array_id: " + array_id); }); });