Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Скрипт неправильно получает значение чекбоксов


Автор: serezhka1986 5.11.2012, 15:36
У меня есть такой скрипт, который, по идее, должен сформировать массив из значений отмеченных чекбоксов:
Код

function myfunct() {
    
    var tagsArray = new Array();

    $('input[name="mycheckboxes"]:checked').each(function() {tagsArray.push(this.value);});
    
    alert(tagsArray);
    
}


А вот html:

Код

<input name="mycheckboxes" type="checkbox" value="5" /> Чекбокс 1<br />
<input name="mycheckboxes" type="checkbox" value="4" /> Чекбокс 2<br />
<input name="mycheckboxes" type="checkbox" value="7" /> Чекбокс 3<br />
<input name="mycheckboxes" type="checkbox" value="9" /> Чекбокс 4<br />
<input name="mybutton" type="button" value="Сложить массив" onclick="myfunct();" />


Проблема: если я отмечаю чекбоксы и нажимаю кнопку, то все работает нормально, но если я убираю отметку из одного из отмеченных, то алерт мне выводит тот же состав, что и при первом вызове функции. После нескольких нажатий кнопки, отображается то, что надо.... ((( Не пойму почему так... Помогите разобраться! может че-то не так написал?

Автор: serezhka1986 5.11.2012, 15:52
Странно, данный скрипт так работает в Опере, а в Хроме все отлично срабатывает. Почему так?

Автор: Amphiluke 5.11.2012, 18:15
Попробуйте делать выборку так:
Код

$('input[name="mycheckboxes"]').filter(':checked')

оно работает стабильнее

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)