gpt4 book ai didi

jQuery - 取消选中像单选按钮一样的复选框

转载 作者:行者123 更新时间:2023-12-03 22:45:02 24 4
gpt4 key购买 nike

我有以下 jQuery 代码,使我的复选框充当单选按钮的作用,以便一次只能检查 3 个中的 1 个。

<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("#testing input:checkbox").change(function(){
var checkname = $(this).attr("name");
$("input:checkbox[name='" + checkname + "']").removeAttr("checked");
this.checked = true;
});
});
</script>

复选框的布局如下:

<input type="checkbox" id="testing" name="testing" value="B">
<input type="checkbox" id="testing" name="testing" value="I">
<input type="checkbox" id="testing" name="testing" value="A">

这完全按照我想要的方式工作,不是问题,除非我单击 3 个中的一个,我无法取消单击它,这样就不会检查它们中的任何一个,这就是我想要发生的事情,所以除了一次只能单击一个,我可以完全取消选中它们。

任何帮助都会很大:)

最佳答案

仅当已被选中时才运行取消选中其他代码的代码。

示例: http://jsfiddle.net/CX5Th/1/

$("#testing input:checkbox").change(function() {
if( this.checked ) {
var checkname = $(this).attr("name");
$("input:checkbox[name='" + checkname + "']").removeAttr("checked");
this.checked = true;
}
});
<小时/>

编辑:这是一个修订版,可以防止当您选择具有相同名称的框时取消选中新选中的框。它使用 not()(docs)排除当前复选框。

示例: http://jsfiddle.net/CX5Th/2/

$("#testing input:checkbox").change(function() {
if (this.checked) {
var checkname = $(this).attr("name");
$("input:checkbox[name='" + checkname + "']").not(this).removeAttr("checked");
}
});

关于jQuery - 取消选中像单选按钮一样的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4706580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com