У меня есть следующая форма (она генерируется динамически, и у меня есть несколько копий с именем от form-0 до form-3)
<form id="form-0" name="0">
<b>what is bla?</b><br>
<div class="ansN" id="ans0"><input type="radio" name="answerN" value="0"> aaa </div>
<div class="ansN" id="ans1"><input type="radio" name="answerN" value="1"> bbb </div>
<div class="ansN" id="ans2"><input type="radio" name="answerN" value="2"> ccc </div>
<div class="ansN" id="ans3"><input type="radio" name="answerN" value="3"> ddd </div>
<input type="submit" value="Submit your answer">
</form>
(игнорируйте div, они используются для некоторых другихцель)
Пытаемся создать функцию снятия отметки, чтобы она работала со всеми переключателями на странице, поэтому я поиграл с консолью и попытался отменить выбор, используя это:
$('form[id^="form-"]').find("input:radio:checked").attr('checked', false);
$('form[id^="form-"]').find("input:radio:checked").removeAttr("checked");
Таким образом, селектор нашел все отмеченные кнопки, но не снял их, почему?когда я использую прямой вызов JS: document.forms[0].answerN[3].checked = false
, он работает нормально, поэтому я могу использовать его внутри цикла, но здесь я стараюсь избегать циклов.Есть ли лучший способ?
Моя цель состоит в том, чтобы иметь функцию снятия отметки, поэтому второй щелчок на переключателе сам по себе снимает отметку