jquery让checkbox只能选中一个怎么实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery让checkbox只能选中一个怎么实现相关的知识,希望对你有一定的参考价值。
参考技术A //控件复选框只能选择一项jQuery(document).ready(function()
jQuery("#list input[type='checkbox']").click(function()
if (jQuery(this).attr("checked") == true)
jQuery("#list input[type='checkbox']").attr("checked", false);
jQuery(this).attr("checked", true);
);
);本回答被提问者和网友采纳 参考技术B if (jQuery(this).attr("checked") == true) 这一句应该换成 if (jQuery(this).attr("checked") == “checked”) 吧 参考技术C checkbox只选中一个的jquery做法是循环,发现有选中的即跳过。
比如有如下checkbox列表:
<div>
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
</div>
<div>
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
</div>
<div>
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
</div>
选中一个的写法:
$('input[type="checkbox"]').on('change', function()
$(this).siblings('input[type="checkbox"]').prop('checked', false);
);
jQuery 修改checkbox的状态,无效
$('input:checkbox').each(function()
var id = '#'+this.id;
$(id).attr("checked", false).checkboxradio("refresh");
//this.attr("checked", false).checkboxradio("refresh"); 用这种没有效果
$(id).checkboxradio("disable");
);
我使用注释的那一行无法实现需要的效果:this.attr("checked", false).checkboxradio("refresh");
一个奇怪的问题,求大神解释
使用prop 求采纳
prop()获取匹配的元素的属性值。
这个方法是jquery1.6以后出来的,用来区别之前的.attr()方法.
区别最大的一点就是:布尔型的属性,1.6以后都是用.prop()方法就好了
不好意思可能我没描述清楚
这个用$(id).attr("checked", false).checkboxradio("refresh");可以实现,我是想问用this.attr("checked", false).checkboxradio("refresh"); 为什么没有效果
不好意思,先看到了另外一个朋友的回答了,采纳了ta的
参考技术A $(this).attr("checked", false).checkboxradio("refresh"); //应该这么写吧,少了$这个东东~~~跟js混淆了追问恩恩,确实这么写可以了,谢谢啦
不过为什么this.id可以获取到正确的ID值呢
哈哈,这个我也不是太明白,但是$(this)表示获取元素对象,这样才能进行下一步获取属性操作,,而本身的this.id是js的正确写法直接获取到对象的id值,我测试过了
this.checked=true这样也是可以的哦。。。
所以~~~
以上是关于jquery让checkbox只能选中一个怎么实现的主要内容,如果未能解决你的问题,请参考以下文章
jQuery实现table中两列CheckBox只能选中一个