首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >执行选中/取消选中复选框操作的更好方法

执行选中/取消选中复选框操作的更好方法
EN

Stack Overflow用户
提问于 2012-09-03 22:07:50
回答 2查看 101关注 0票数 2

我正在使用jQuery进行checkboxes操作。我写了一小段代码来让它工作。

当我选中selectAll复选框时,它应该选中所有的复选框,而当我取消选中任何复选框时,它应该取消选中“全选”复选框。而且,行为应该切换。

请检查此代码片段Check - UnCheck

不知何故,我对我的代码并不信服。如果我能以更好的方式做这件事,请推荐我。蒂娅。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-06 21:31:51

代码语言:javascript
运行
复制
$(function() {
    var elems = $('input[type="checkbox"]');

    elems.first().on('change', function() {
        $(this).siblings(elems).prop('checked', this.checked);
    }).end().not(':first').on('change', function() {
        elems.first()
             .prop('checked', ((this.checked ? elems.length - 1 : elems.length) == $(elems)
             .filter(':checked').length));
    });
});​
票数 2
EN

Stack Overflow用户

发布于 2012-09-03 22:33:17

1)您每次给出的时候都在搜索DOM

代码语言:javascript
运行
复制
$(':checkbox').attr('checked', true);
$(':checkbox :first').click() 

等等。而是存储在一个变量中并使用它

2)获得no。选中复选框的个数(不需要迭代和获取计数),

代码语言:javascript
运行
复制
$(':checkbox').find(':checked').length
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12249460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档