根据我的理解,无线电可能是最好的选择,但我需要使用复选框。我在这里看到了一个类似的问题:Uncheck a checkbox if another checked with javascript除了,我希望用户能够仅使用两个复选框选择一个框或另一个框,但是如果他们决定不再选中任何一个框,也可以取消选中想要选中一个方框而不必像示例那样使用收音机。
以下是示例:
<input class="cb" name="fries" type="checkbox" id="opt1" onchange="cbChange(this)"/>
<input class="cb" type="checkbox" name="fries" id="opt2" onchange="cbChange(this)"/>
<input class="cb" type="radio" name="o1" id="hotdog" onchange="cbChange(this)"/>
以下是他们使用的代码,但有了这个,我没有选择取消选中这两个复选框,除非我使用收音机:
function cbChange(obj) {
var cbs = document.getElementsByClassName("cb");
for (var i = 0; i < cbs.length; i++) {
cbs[i].checked = false;
}
obj.checked = true;
}
答案 0 :(得分:1)
JavaScript的:
function cbChange(obj)
{
if (obj.checked) {
var cbs = document.getElementsByClassName("cb");
for (var i = 0; i < cbs.length; i++)
cbs[i].checked = false;
obj.checked = true;
}
}
HTML:
<input class="cb" name="fries" type="checkbox" id="opt1" onchange="cbChange(this)"/>
<input class="cb" name="fries" type="checkbox" id="opt2" onchange="cbChange(this)"/>