如何检查表单中是否至少选中了一个复选框?

时间:2019-02-14 13:53:37

标签: javascript jquery

我有带有4个复选框字段的表单。为了使用户能够处理表格,他们必须至少选中一个复选框。如果未选中任何复选框,则用户将收到有关此错误的消息。我有一个提交功能,我想验证这个标准。但是,这是我的功能:

$(document).on('submit', '#myFrm', saveFrm);
function saveFrm(e) {
    e.preventDefault();
    var frmData = $(this).serialize(),
        submitBtn = $(this).closest('form').find(':submit'),
        messageBox = $(this).closest('form').find('.message-submit'),
        ckLen = $('#myFrm input[type=checkbox]:checked');

    if(ckLen === 0){
       alert('At least on checkbox has to be checked.');
    }else{
       // Save form
    }
}

上面的代码应该可以正常工作,但是我想知道的是这一行代码:

ckLen = $('#myFrm input[type=checkbox]:checked');

是否可以使用$(this)代替硬编码的表单ID?

1 个答案:

答案 0 :(得分:1)

您可以在$(this)上使用find()。您还必须从对象中获取 length 属性,以使条件正常运行:

ckLen = $(this).find('input[type=checkbox]:checked').length;