我有两个复选框,只有一个可以点击

I have 2 checkboxes and only one can be clicked

本文关键字:有一个 复选框 两个      更新时间:2024-05-19

据我所知,收音机可能是最好的选择,但我需要使用复选框。我在这里看到了一个类似的问题:如果另一个复选框使用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;
}

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