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