Выборка чекбоксов и из значений
Здравствуйте. Не могу разобраться в чем дело (
есть вот такой html <input type="checkbox" value="1000" /> <input type="checkbox" value="2000" /> <input type="checkbox" value="3000" /> и есть вот такой код js (здесь использовано jQuery) var checkbox = $('input[type=checkbox]:checked'); for(i=0; i<checkbox.length; i++){ var x = checkbox[i].val(); alert(x); } Код должен диалоговым окном выводить значение каждого нажатого чекбокса. Ведь вроде все и правильно, как я знаю в переменой checkbox должен быть массив а если это массив то и доступ должен быть к нему типа array[0]. Цикл работает если убрать var x = checkbox[i].val();, значит наверно именно там и ошибка, но вот где понять ну никак не могу. ПОМОГИТЕ, ПОЖАЛУЙСТА !!! ) |
<input type="checkbox" value="1000" checked="" /> <input type="checkbox" value="2000" /> <input type="checkbox" value="3000" checked /> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script> var checkboxes = $('input[type=checkbox]:checked'); for (var i=0; i < checkboxes.length; i++){ var x = checkboxes[i].value; alert(x); } </script> Пояснения: 1) функция $() возвращает объект, похожий на массив (можно обращаться по числовым ключам, и имеется свойство length, указывающее количество элементов). Сам объект имеет интересные методы вроде val(), html(), hide() и прочие (смотри api.jquery.com). Сами элементы "массива" - это голые DOM-элементы, не имеющие этих свойств. 2) Перед i забыл ключевое слово var, но это не критично 3) Коллекции должны быть именованы множественным числом (это касается стиля именования и не влияет конечно же на результат). Ну и на последок, jquery-way: var $checkboxes = $('input[type=checkbox]:checked'); $checkboxes.each(function(){ var x = this.value; alert(x); }); |
Цитата:
<input type="checkbox" value="1000" checked="" /> <input type="checkbox" value="2000" /> <input type="checkbox" value="3000" checked /> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script> var checkboxes = $('input[type=checkbox]:checked'); for (var i=0; i < checkboxes.length; i++){ var x = checkboxes.eq(i).val(); alert(x); } </script> |
Спасибо Рони, работает как и хотел только вот так и не понял что это за eq(i) ?
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
(function(){ "use strict"; for (i = 0;0;); })(); (function(){ for (var i = 0;0;); })(); |
Часовой пояс GMT +3, время: 04:20. |