位置: 编程技术 - 正文
推荐整理分享JQuery实现列表中复选框全选反选功能封装(推荐)(jquery 列表控件),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:jquery 列表控件,jquery如何实现列表循环,jquery table,jquery列表添加数据,jquery怎么获取列表的长度,jquery如何实现列表循环,jquery 列表实现,jquery 列表实现,内容如对您有帮助,希望把文章链接给更多的朋友!
我们在做列表的时候经常会遇到全选,反选进行批量处理问题,例如:
我当时就是简单的实现了,然后想封装到公共的js中,封装的太烂,不好意思贴出来了(就是把实现代码之间放到公共js中,然后每个页面都用固定的id,class,现在想想我都不好意思叫他封装了),然后想到之前老大有写过这个功能去看下他怎么写的,真是没有对比就没有伤害啊,这才叫封装;
首先这儿的高封装性就体现出来了,只有一个自定义的data-check-target属性用于js和html分离后的连接桥梁(而我当时用两个:一个全选复选框,一个子复选框,有关的点都用上了,这样就没起到封装的效果,js和html耦合性太大)(我看到上面的js就在想怎么通过一个连接点把三个相关联的东西联系起来的呢);
接下来我们继续看具体使用的地方:
我发现全选复选框用于和js链接的桥梁的自定义属性data-check-target有点特别:
它的值为“.id-checkbox”,看起来就感觉好奇怪,继续往下看子复选框实现:
到这儿才豁然开朗原来子复选框的class名称就存放在自定义属性data-check-target中;
然后再通过自定义属性data-check-target拿到子复选框的class,从而达到高封装性;
我总结的就是js和html通过了自定义属性data-check-target通信,子复选框依赖全选复选框自定义属性data-check-target的值;
这个例子看下来代码不难,也没有什么地方很难理解的,就是通过一个自定义属性巧妙的完成了低耦合的封装,这也是正是这段代码的难点和精髓;
我真心抑制不住内心的崇拜,这几行代码太漂亮了。
PS:上面js为什么用prop而不用attr,因为:如果当前input中初始化未定义checked属性,则该元素没有指定的checked属性,所以.attr()会返回undefined;
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
以上所述是小编给大家介绍的JQuery实现列表中复选框全选反选功能封装(推荐),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!
jQuery实现表格与ckeckbox的全选与单选功能 先给大家介绍下jQuery实现表格与ckeckbox的全选与单选功能。先看看下面的效果:用户点击头的checkbox时,所有表格数据行的checkbox全选或反选。当数据行
BootStrap 可编辑表Table格 一、显示数据(基础功能)在html页面中定义表格以及表格的列名,最后把从数据库中查询出来的数据,循环显示到页面中。这个系统用的是PHP语言,里
Bootstrop实现多级下拉菜单功能 Bootstrap,来自Twitter,是目前最受欢迎的前端框架。Bootstrap是基于HTML、CSS、JAVASCRIPT的,它简洁灵活,使得Web开发更加快捷。下面给大家分享bootstrap多级
标签: jquery 列表控件
本文链接地址:https://www.jiuchutong.com/biancheng/377861.html 转载请保留说明!上一篇:jquery网页日历显示控件calendar3.1使用详解(jsp页面显示日历控件)
友情链接: 武汉网站建设