我需要至少选中一个复选框。两者都可以同时检查,但我至少需要一个检查。
我尝试使用下面的代码执行此操作。我们的想法是检查是否未选中该复选框,并将禁用的属性添加到另一个复选框。
所以例如......
如果未选中字母,请检查数字并将其禁用,以便用户无法取消选中。
if (letters.checked === false) { // if letters isn't checked
numbers.prop("disabled", true); // disable numbers
numbers.checked = true; // keep numbers checked
} else if (numbers.checked === false) { // else if numbers isn't checked
letters.prop("disabled", true); // disable letters
letters.checked = true; // keep letters checked
}
答案 0 :(得分:2)
像这样你的意思是:)
工作演示:http://jsfiddle.net/Y3dC3/
.on
更改事件。.is
检查是否已选中。希望这符合您的需求。
<强>码强>
$(document).ready(function () {
$('input[type=checkbox]').change(function () {
var letters = $("#letters"),
numbers = $("#numbers");
if (!letters.is(':checked')) { // if letters isn't checked
numbers.prop("disabled", true); // disable numbers
numbers.checked = true; // keep numbers checked
} else if (!numbers.is(':checked')) { // else if numbers isn't checked
letters.prop("disabled", true); // disable letters
letters.checked = true; // keep letters checked
}
});
});
答案 1 :(得分:0)
如果您希望每次检查状态发生变化时都要触发,那么您需要将该逻辑放入事件处理程序中。目前,它仅在$(document).ready
上运行,并且在此之后永远不会运行。