JQuery如何检查复选框是否被选中

12
我想知道如何编写类似以下内容的代码以验证单选框。表单中可能只有一个或多个单独的单选框。下面的示例不起作用。
谢谢!
// -----------------------------------------------
// CHECK SINGLE CHECKBOX
// -----------------------------------------------
$('.mcCbxRequired').each(function() {
    var mcCbxCheck = $(this);
    if(mcCbxCheck.is(':checked')) {
        alert('checked');
        // do something here ...
    }
    else{
        alert('not checked');
        return false;
    }
});

当你说这个例子“不起作用”时,它是否显示了alert - Devin Burke
嗨,不,什么都没发生。 - user582065
哦,抱歉,它可以工作了。我需要刷新浏览器。 - user582065
2个回答

20

两件事情:

  1. 每个适用的复选框都必须具有 mcCbxRequired 类。如果没有弹出任何警报,则问题可能是因为您的复选框没有此类。

  2. 您在两种情况下都返回 false。对于验证来说,这不太合理,因此您应将代码中相关部分更改为以下内容:

代码:

    if(mcCbxCheck.is(':checked')) {
        alert('checked');
        return true;
    }

@user582065 刚在我编辑之前编辑了他的帖子。不过还是应该有return true;这一行。 - Edwin

1

您可以使用:

$('input[type=checkbox]:checked').each(function()
{
   var checkedBox = $(this);

   // Do whatever you want
});

此外,按类选择的JQuery选择器比按id/类型选择的选择器慢。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接