jQuery。如何取消选中除一个复选框(已选中)之外的所有复选框
我有html项目,4个示例:jQuery。如何取消选中除一个复选框(已选中)之外的所有复选框,jquery,checkbox,Jquery,Checkbox,我有html项目,4个示例: <div> <div><input type="checkbox" class="foo"> Checkbox</div> <div><input type="checkbox" class="foo"> Checkbox</div> <div><input type="checkbox" class="foo"> Checkbox&l
<div>
<div><input type="checkbox" class="foo"> Checkbox</div>
<div><input type="checkbox" class="foo"> Checkbox</div>
<div><input type="checkbox" class="foo"> Checkbox</div>
<div><input type="checkbox" class="foo"> Checkbox</div>
<div><input type="checkbox" class="foo"> Checkbox</div>
<div><input type="checkbox" class="foo"> Checkbox</div>
</div>
复选框
复选框
复选框
复选框
复选框
复选框
现在,我想要下一个:如果我点击任何复选框-复选框应该被选中,其他复选框应该被取消选中。如何操作?您可以使用
单选按钮,按名称属性对它们进行分组。如果必须使用复选框
执行此操作,则可以通过这种方式执行
$('.foo').click(function(){
$('.foo').attr('checked', false);
$(this).attr('checked', true);
});
对于动态生成的html,您需要它允许您将事件委托给静态父级,您可以将文档用于您不知道的静态父级
$(document).on('click','.foo', function(){
$('.foo').attr('checked', false);
$(this).attr('checked', true);
});
如果已知静态父文档,则可以将其替换为静态父文档。e、 g.如果div contain动态生成的has idparentdiv
,则可以
`$('#parentdiv').on('click','.foo', function(){`
编辑
使用prop
而不是attr
检查属性,选择属性
,或禁用属性
从jQuery1.6开始,.attr()方法返回未定义的属性
这还没有确定。检索和更改DOM属性,如
表单元素的选中、选中或禁用状态使用
.prop()方法
也许这会帮助你:
.siblings("input[type='checkbox']").attr("checked", true);
将选中除单击的复选框之外的所有复选框
$(“输入[type=checkbox]”)。在(“单击”,函数(){
如果($(this.val()=“无”){
$(this).sides(“input[type=checkbox]”).attr('checked',false);
}否则{
$(this).sides(“input[value=none]”).attr('checked',false);
}
});代码>
Eaglesoft
丹特里克斯
软凹痕
Denticon
其他
无软件经验-仅纸质记录
另一种解决方案
$('.foo').click(function(){
$('.foo').not(this).attr('checked', false);
});
jQuery V:1.6=你想要的是一个单选按钮…@François Wahl,没问题!我不知道。非常感谢你的回答。我了解单选按钮组。但我不能使用它,因为我的SpringMVC控制器必须有不同的名称参数。由于这个原因,我决定使用checkbox和JavaScript+1:作为工作解决方案和演示。一般来说,一行代码的备选方案是:$('.foo').not(this.attr('checked',false))代码>谢谢@FrançoisWahl,建议的语句非常好。伙计们,如果html是由jQuey动态生成的,它就不起作用了!:(在这种情况下我该怎么办?您需要打开绑定单击事件,我已更新了我的答案。这个答案被低估了。)
$( ".foo" ).change(function() {
$('.foo').not(this).prop('checked', false);
});