jquery批量操作checkbox不生效等问题
平常页面元素简单的时候操作很简单,也不会遇到特殊问题,但是当页面结构复杂的时候,特别是与其他框架混合的时候就会出现意外情况,
<input type="checkbox" id="123">
选中复选框:
$("#123").attr("checked","checked");//或者$("#123").attr("checked",true);
取消复选框:
$("#123").attr("checked",false);//或者$("#123").removeAttr("checked");
但是如果想要批量操作一些复选框,而且不知道这些复选框的ID,而且这些复选框每个外面都会嵌套不同层数的DIV LABEL 等其他页面标签元素,
比如最外层元素是<div id="aa">......
我们通常的写法是
$('#aa').find("input").each(function(){
$(this).attr("checked","checked");//或者$(this).attr("checked",true);
});
上面的写法是没问题的,但是有时候需要在你批量选中一部分复选框之前要先全部取消选中, 这个时候会这样写
$('#aa').find("input").each(function(){
$(this).attr("checked",false);//removeAttr
if(a>b){
$(this).attr("checked","checked");//或者$(this).attr("checked",true);
}
});
但是我这样写出现的问题,不管怎么试都是取消选中生效了,但是后面的批量选中一部分确没生效,就是if(a>b)里面的代码没生效,但是调试时候发现页面元素是有(checked="checked")的,但是页面上就是没有打钩,最后选择用原生JS来操作
$('#aa').find("input").each(function(i, el){
//先进行全部取消操作
//var cid = $(this).attr("id");
//document.getElementById(cid).checked = false;
el.checked = false;//上面注释的两行意思等同于当前这行
//满足条件的话进行选中操作
if(a>b){
//var cid = $(this).attr("id");
//document.getElementById(cid).checked = true;
el.checked = true;
}
});
虽然还是用到了部分jquery的语法,但是选中操作用的是原生JS的写法
document.getElementById(cid).checked = true;
分享到:
相关推荐
JQuery操作checkbox、radio等示例
自动动手写了个操作checkbox,里面包括全选、全不选、反选、获取选中值四个功能...
jquery checkbox 选中 取消 checkbox多选
Jquery全选反选Checkbox 简单好用 复用性很好 欢迎下载
jQuery 对checkbox的操作
jquery动态生成checkbox 设置一行最多显示几个checkbox 获取checkbox选中项
jquery、js操作checkbox全选反选.docx
昨天网上找了很多关于设置select checkbox radio只读的,都没办法满足要求,自己写了一个
JQuery对checkbox的多选,全选,反选操作样例
jQuery制作全选CheckBox 的两种代码 还不错
基于jQuery的Checkbox精美样式插件 .
jQuery的高性能TreeView源码(带CheckBox) 1:支持静态的树,即一次性将全部数据加载到客户端。 2:异步树,即一次只加载一级或若干级节点,子节点可以异步加载数据。 3:Checkbox树(可能是静态树也可能是异步树...
NULL 博文链接:https://yhjhoo.iteye.com/blog/652050
jquery操作Radio、Checkbox、Select详细Demo
jquery 树形 checkbox jQuery(document).ready(function(){ jQuery(".mytree").checkboxTree({ collapsedarrow: "images/checkboxtree/img-arrow-collapsed.gif", expandedarrow: "images/checkboxtree/img-...
在jquery 下实显checked 联动 当input checkbox选中时自动判断上级下级并选中
自己编写的一个jquery多选checkbox下拉框,已经封装好了,直接调用就可以
JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值
C#.net下通jQuery实现的由CheckBox来控件CheckBoxList的全选操作,通过CheckBox来全选CheckBoxList,当有一个CheckBoxList选中时,CheckBox则被选中,且并且可以取得选中的CheckBox和CheckBoxList的value和text
jquery获取checkbox选中的值,包括全选 取消全选 反选 选中奇数行 获取选中的值