Снятие всех флажков работает только один раз с помощью jquery - PullRequest
4 голосов
/ 05 ноября 2011

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

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

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

и это:

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

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

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

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

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

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

Что не так?Спасибо

Ответы [ 2 ]

1 голос
/ 05 ноября 2011

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

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

Работает нормально?:)

0 голосов
/ 15 декабря 2015

используйте prop вместо attr

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

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

...