多选框全选

本文参考了jQuery实现CheckBox全选、全不选原文原文评论

需求:

  1. 在多选框中设置一个全选的选择框。当全选的选择框选中时,其余所有的选择框都选中;当全选的选择框不选中(点击全选框时)的时候,其余的选择框都不选中。

  2. 当其余的选择框都选中时,全选的那个选择框自动选中,当其余的选择框有一个或以上的选择框不选中(点击其余的选择框时)时,全选的那个选择框不选中。

实现方法:

对于需求1,可以在全选的选择框加上一个click事件处理函数:

$("#select-all").click(function(){
  $("input[name='select']").prop("checked",this.checked);
});

prop:当元素的属性只有属性名(存在属性名就生效)或属性只有true和false两个值时,使用prop。

对于需求2,可以在选项不多的情况下监听其余所有选项的点击事件:

$("input[name='select']").click(function(){
  var $subs=$("input[name='select']");
  $("#select-all").prop("checked", $subs.length == $subs.filter(":checked").length ? true : false);
});

filter:用于根据条件筛选调用者的集合,本例中用于筛选选中的状态的多选框。

":checked":用于选择选中状态的input元素,关于jquery选择器可参考jQuery 参考手册 - 选择器

最后,全选的选择框不能加上name属性(至少不能是和子项相同的name属性)

转载于:https://my.oschina.net/hwxn/blog/524674

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值