当前位置: 首页 > 编程笔记 >

jQuery实现checkbox列表的全选、反选功能

张勇
2023-03-14
本文向大家介绍jQuery实现checkbox列表的全选、反选功能,包括了jQuery实现checkbox列表的全选、反选功能的使用技巧和注意事项,需要的朋友参考一下

  我们在做列表的时候经常会遇到全选,反选进行批量处理问题,例如:

  我当时就是简单的实现了,然后想封装到公共的js中,封装的太烂,不好意思贴出来了(就是把实现代码之间放到公共js中,然后每个页面都用固定的id,class,现在想想我都不好意思叫他封装了),然后想到之前老大有写过这个功能去看下他怎么写的,真是没有对比就没有伤害啊,这才叫封装;

$(':checkbox[data-check-target]').click(function () {
  var target = $(this).attr('data-check-target');
  if ($(this).prop('checked')) {
    $(target).prop('checked', true);
  } else {
    $(target).prop('checked', false);
  }
});

  首先这儿的高封装性就体现出来了,只有一个自定义的data-check-target属性用于js和html分离后的连接桥梁(而我当时用两个:一个全选复选框,一个子复选框,有关的点都用上了,这样就没起到封装的效果,js和html耦合性太大)(我看到上面的js就在想怎么通过一个连接点把三个相关联的东西联系起来的呢);

  接下来我们继续看具体使用的地方:

  我发现全选复选框用于和js链接的桥梁的自定义属性data-check-target有点特别:

<input type="checkbox" data-check-target=".id-checkbox" />

  它的值为“.id-checkbox”,看起来就感觉好奇怪,继续往下看子复选框实现:

<input type="checkbox" name="ids[]" value="@item.Id" class="id-checkbox" />

  到这儿才豁然开朗原来子复选框的class名称就存放在自定义属性data-check-target中;

var target = $(this).attr('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 Checkbox 全选 反选的简单实例,包括了jQuery Checkbox 全选 反选的简单实例的使用技巧和注意事项,需要的朋友参考一下 1.全选、反选 以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持呐喊教程!

  • 本文向大家介绍利用jQuery实现CheckBox全选/全不选/反选的简单代码,包括了利用jQuery实现CheckBox全选/全不选/反选的简单代码的使用技巧和注意事项,需要的朋友参考一下 jQuery有些版本中实现CheckBox全选/全不选/反选会有bug,经测试jquery-1.3.1.js–>测试通过,jquery-1.5.1.js–>测试不通过。 实现CheckBox全选/全不选/反选

  • 本文向大家介绍jquery实现简单的全选和反选功能,包括了jquery实现简单的全选和反选功能的使用技巧和注意事项,需要的朋友参考一下 首先我们看个简单的实例 下面再给大家分享一段基于jQuery实现checkbox列表全选、反选和不选功能的代码,适用于网页多选后需要进行批量操作的场景(如批量删除等)。文章结合实例,代码简洁,基本覆盖选项选择操作的方方面面,希望可以帮到有需要的前端开发爱好者。 引

  • 本文向大家介绍javascript实现checkBox的全选,反选与赋值,包括了javascript实现checkBox的全选,反选与赋值的使用技巧和注意事项,需要的朋友参考一下 我们平时在做项目的时候,经常会遇到需要实现实现checkBox的全选,反选与赋值的情况,网上也有许多的范例,这里给大家分享的是本人常用的方法,推荐给大家。 以上就是本示例的全部代码了,希望对大家学习使用javascrip

  • 本文向大家介绍jQuery 全选 全部选 反选 实现代码,包括了jQuery 全选 全部选 反选 实现代码的使用技巧和注意事项,需要的朋友参考一下 1.概述 在项目中经常遇到列表中对复选框进行勾选操作,全选。。。反选。。 2. example 以上所述是小编给大家介绍的jQuery 全选 全部选 反选 实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢

  • 本文向大家介绍js与jQuery实现checkbox复选框全选/全不选的方法,包括了js与jQuery实现checkbox复选框全选/全不选的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js与jQuery实现checkbox复选框全选/全不选的方法。分享给大家供大家参考,具体如下: 先来看看JavaScript实现checkbox复选框全选/全不选的方法。这应该是一个比较实用的前端