Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 向所有元素添加/删除类_Jquery_Html_Css_Twitter Bootstrap - Fatal编程技术网

Jquery 向所有元素添加/删除类

Jquery 向所有元素添加/删除类,jquery,html,css,twitter-bootstrap,Jquery,Html,Css,Twitter Bootstrap,这一次,我正在使用orders表 我有那张桌子: 并通过单击选择/取消选择所有行: 但问题是当我已经选择了一个时,我想选择全部。然后它反转我的选择: 我希望选择和取消选择所有项目,即使选择了一些项目。您可以尝试此…(如果您使用的是jQuery right) 当所有行都被选中时,将类“selected”添加到th元素,反之亦然。我想感谢您抽出时间来Savaratkar。在您的帮助下,我终于能够获得以下版本: $("body").on('click', 'tbody tr', function

这一次,我正在使用orders表

我有那张桌子:

并通过单击选择/取消选择所有行:

但问题是当我已经选择了一个时,我想选择全部。然后它反转我的选择:

我希望选择和取消选择所有项目,即使选择了一些项目。

您可以尝试此…(如果您使用的是jQuery right)


当所有行都被选中时,将类“selected”添加到th元素,反之亦然。

我想感谢您抽出时间来Savaratkar。在您的帮助下,我终于能够获得以下版本:

$("body").on('click', 'tbody tr', function(event){
    $(this).toggleClass('success unselected');
});

$("body").on('click', 'table th.selectAll', function(event){
    if($( "table" ).find( "tr.unselected" ).length > 0) {
        $('tbody tr').removeClass('unselected').addClass('success');
    } else {
        $('tbody tr').removeClass('success').addClass('unselected');
    }
});


此解决方案令我满意。

显然,它将切换以前选择的解决方案。首先执行removeClass,然后对所有行执行toggleClass。这很简单,但是。。。在取消选择的情况下,它不起作用:)它非常接近,但在这种情况下,当我手动选择了少数或全部记录,并且在
上选择了类时,它就不起作用了。selectAll
。我知道当选择了所有行时,它不会起作用。但我不明白为什么选择很少的行时它不起作用。因为当我手动选择很少的行和
th.selectAll
时,选择了类
,当我单击时,然后函数remove class
成功地从所有项中删除类
。但也许它有道理,我想得太多了;您在代码中尝试过解决方案吗?应该行的。是的,当然行了。但我对这个解决方案很感兴趣:当有人没有
success
按钮
selectAll
总是选择all。但当全部选中时,则按钮取消全部选择。
$("body").on('click', 'tbody tr', function(event){
    $(this).toggleClass('success');
});
$("body").on('click', 'table th.selectAll', function(event){
    $('tbody tr').toggleClass('success');
});
    $("body").on('click', 'table th.selectAll', function(event){
    if($(this).hasClass("selected"){
       $('tbody tr').removeClass('success');
       $(this).removeClass("selected");
    }
    else{
       $('tbody tr').addClass('success');
       $(this).addClass("selected");
    }
    });
$("body").on('click', 'tbody tr', function(event){
    $(this).toggleClass('success unselected');
});

$("body").on('click', 'table th.selectAll', function(event){
    if($( "table" ).find( "tr.unselected" ).length > 0) {
        $('tbody tr').removeClass('unselected').addClass('success');
    } else {
        $('tbody tr').removeClass('success').addClass('unselected');
    }
});