需要帮助,如果没有选中复选框,请执行某些操作

时间:2015-11-21 21:17:00

标签: javascript jquery postdata

在我的网站上,"按类别排序"当您选中每个类别附加的复选框并隐藏另一个类别的其余部分时,工作正常。

我想要做的是能够显示所有类别项目,如果没有选中复选框,如果你进入网站并点击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);
} 

2 个答案:

答案 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
}