Выборка чекбоксов и из значений
Здравствуйте. Не могу разобраться в чем дело (
есть вот такой 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, время: 11:25. |