我有2个复选框,只能点击一个

时间:2013-12-08 04:51:41

标签: javascript html checkbox

根据我的理解,无线电可能是最好的选择,但我需要使用复选框。我在这里看到了一个类似的问题: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;
}

1 个答案:

答案 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)"/>