在我的网站上,"按类别排序"当您选中每个类别附加的复选框并隐藏另一个类别的其余部分时,工作正常。
我想要做的是能够显示所有类别项目,如果没有选中复选框,如果你进入网站并点击2个分类并取消选中它们你会发现它将是空的。
帖子的CSS项目是class =" rp-item"。
这就是我的类别排序现在的样子,
function categorySort() {
$('#CategorySort').attr('firstclick', true);
$('.cat-sort-toggle').click(function() {
$('.cat-sort-bar').toggle(500);
});
$('.cat-sort-check').change(function() {
if ( $('#CategorySort').attr('firstclick') == 'true') {
$('.rp-item').css('display', 'none');
$('#CategorySort').attr('firstclick', false);
}
$objectString = '.' + $(this).attr('showclass');
if ( $(this).is(':checked') ) {
$($objectString).show(500);
} else {
$($objectString).hide(500);
}
});
}
/* the code below was the one i tried to fix the issue,
what it did is it kinda worked but everytime i click the
2nd time on any of the check boxes or just switch
checkboxes it brings everything back instead of only
the posts from the checkbox. Thanks! */
else{
$('.rp-item').css('display', 'inline-block');
$('#CategorySort').attr('firstclick', true);
}
答案 0 :(得分:0)
您可以检查
是否选中了复选框if($('input[type="checkbox"]:checked').length < 1){
alert('No one checked');
}
注意:此代码只是一个基本..自己检查类和Ids 并在您想要的事件中更新此代码
答案 1 :(得分:0)
$("input[type='checkbox' class='rp-item']:checked")
为您提供了已选中复选框的列表。然后,您可以将其绑定在if
:
if($("input[type='checkbox' class='rp-item']:checked").length > 0){
// Do Something
}
并在其中编写应用程序逻辑。
&#34;的jQuery少&#34;的方法:
var checkboxes = document.getElementsByClassName("rp-item");
var nothingChecked = true;
for(var i = 0; i < checkboxes.length; i++) {
if(checkboxes[i].checked == false)
continue;
else
nothingChecked = false;
}
if(nothingChecked == true) {
// Do Something
}