【发布时间】:2017-03-03 17:45:24
【问题描述】:
我不确定 a 是否正确地制定了标题,但逻辑是这样的。
我有 4 个复选框,3 Yes 和 1 No。选择 3 Yes 将取消选中 No,选择 No 将取消选中 Yes。
我的 jQuery 如下所示:
var yes = $("input[type=checkbox].yes");
if (yes.length == yes.filter(":checked").length) {
$("#no").attr("checked", false);
} else if($("#no").is(":checked")) {
yes.attr("checked", false);
} else {
// do nothing
}
有用。但是,如果我勾选了所有Yes,我将无法选择No。相反,我需要取消选中 1 Yes 以选择 No。 No 也一样。如果我选中 No,则所有 Yes 都将被取消选中。但是,我需要取消选中 No 才能再次选择 Yes。
如果选中所有 Yes,我是否仍然可以选择 No?
谢谢!
更新
现在包括 HTML
<form id="checkbox-testing" >
<div class="checkform">
<label>
<input class="yes" type="checkbox" value="Yes, 1" id="yes1"><span> Yes, 1</span>
</label>
<label>
<input class="yes" type="checkbox" value="Yes, 2" id="yes2"><span> Yes, 2</span>
</label>
<label>
<input class="yes" type="checkbox" value="Yes, 3" id="yes3"><span> Yes, 3</span>
</label>
<label>
<input type="checkbox" value="No" id="no"><span> No</span>
</label>
</div>
<input type="submit" value="Test" />
</form>
【问题讨论】:
-
@guradio。你能详细说明一下吗?谢谢!
-
将你的html和js一起添加到op中
-
如果这是一个二进制状态 - 要检查一个或另一个,那么也许您应该使用单选按钮输入
-
更新 - 我刚刚修改了我的答案以提供一个单选按钮来选择或其他选项和一个按钮来清除单击时选中的属性。如果状态是一个或另一个,并且选项是相互排斥的,那么单选按钮输入会更好。
-
@gavgrif。用户应该能够选择多个项目,这就是使用复选框的原因