添加一个检查是否已选择任何复选框w / jQuery

时间:2011-09-18 13:21:39

标签: jquery

我有以下功能,可以根据是否选中页面上的复选框为按钮添加/删除样式:

var checkboxes = $(".chkbx").change(function() {
    var allIsChecked = checkboxes.length === checkboxes.filter(":checked").length;
    all[0].checked = allIsChecked;
    enableMyElement(checkboxes.filter(":checked").length > 0);
});

var all = $("#checkall").change(function() {
    checkboxes.attr("checked",this.checked);
    enableMyElement(this.checked);
});

function enableMyElement(b) {
    $("#delBtn")[b?"removeClass":"addClass"]("dis");
}

现在,所有这一切都运行正常,但仅限于改变。我需要添加一个检查,是否在页面加载时检查了至少一个类 chkBx 的复选框。我正在考虑添加另一个函数,比如这个

function CheckForAnySelected() {
    $(".chkbx").attr("checked").each( 
        function() {
            // do something
        }
    );

...但它看起来不是一个好的解决方案......我当然不确定如何与我现有的代码集成。

1 个答案:

答案 0 :(得分:2)

    function CheckForAnySelected() {    
        if($(".chkbx").filter(":checked").size()>0)
        {
          return true; // atleast one is selected
        }
       else{
      return false;
       });

你可以像

一样使用它
if(CheckForAnySelected())
{
//atleast one is checked
}
else
{
// none checked
}

这里是小提琴http://jsfiddle.net/QNrZu/13/