【发布时间】:2014-06-26 06:29:32
【问题描述】:
我有以下表单(它是动态生成的,我有几个名为 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 它工作正常,
所以我可以在循环中使用它,但我尽量避免在这里循环。有没有更好的办法?
我的目标是有一个取消选中的功能,所以第二次点击单选按钮本身就会取消选中它
【问题讨论】:
标签: jquery html radio-button