Снятие всех флажков работает только один раз с помощью jquery

У меня действительно интересная проблема. Я пытаюсь снять все флажки на моей странице. Все флажки имеют идентификаторы, начинающиеся с "chkbx_".

Я пытался сделать это:

$('input[id^="chkbx_"]').removeAttr("checked");

и это:

$('input[id^="chkbx_"]').attr("checked", false);

Это работает только один раз! Второй раз, кажется, это игнорируется.

По сути, я пытаюсь сделать так, чтобы флажки вели себя как переключатели. Когда я проверяю один, я запускаю функцию, которая получает это (ref.) В качестве параметра, и я сначала снимаю все флажки, а затем я проверяю тот, который нажал.

Я также пытался использовать это, чтобы пройти все флажки, чтобы увидеть, если они отмечены:

$('input[id^="chkbx_"]').each(function () { ... });

Даже если есть 4 флажка, вышеуказанный цикл выполняется только один раз, для первого флажка на странице.

Что случилось? Спасибо

2 ответа

Что-то еще должно быть не так.

Набросал этот пример: http://jsfiddle.net/nzmv8/

Работает отлично?:)

Используйте опору вместо attr

  • $ ('input [id ^ = "chkbx _"]'). prop ("флажок", ложь);

  • $ ('input [id ^ = "chkbx _"]'). prop ("checked", true);

Другие вопросы по тегам