javascript - 选中所有复选框有问题吗?

标签 javascript jquery

当有人点击第一个 input:checkbox 时,我希望我的代码选中所有复选框,但我的代码无法正常工作:

示例: http://jsfiddle.net/cQYVE/

$('.table_show tr input:first').live('click',function(){
        var isChecked = $(this).prop('checked');
        $(".table_show tr input[name=checked[]]").each(function(){
            if (!$(this).prop('checked') == isChecked) {
                $(this).parent().click();
            }
        });
    });

问题的原因是什么?

最佳答案

您的代码的问题是您没有正确引用名称选择器: 改变

$(".table_show tr input[name=checked[]]")

$(".table_show tr input[name='checked[]']")

见: http://jsfiddle.net/cQYVE/5/

另外,您的用户体验可能会更好。通常当用户手动选中所有复选框时,checkall 复选框应该变为选中状态,而当用户取消选中一个复选框以便“全部”不被选中时,checkall 复选框应该变为未选中

编辑: 第二个问题的答案是你必须维护一个复选框总数的计数,当这个数字被选中时,checkall 复选框必须被选中,否则它必须被取消选中。每次用户手动选中复选框时执行此检查。抱歉,我现在没有时间提供该代码。

关于javascript - 选中所有复选框有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7148705/

相关文章:

javascript - 将日期和时间戳与时区进行比较

javascript - jQuery/JavaScript 不能在脚本标签内工作

javascript - 单击时显示接下来的两个列表元素

javascript - 使用 JavaScript 进行即时验证 - 不确定从哪里开始

javascript - Jquery-使用 'show' 和 'hide' on click 函数

javascript - 有什么想法不选择已在 token 输入中选择的名称吗?

javascript - JavaScript 事件处理程序在删除后是否会从浏览器内存中删除?

javascript - 使用 jQuery mobile 从右/左滑动单个 div?

javascript - 如果最后一个 child ,这样做

Javascript - 我想在长时间运行的函数运行之前显示复选框检查