如果未选中所有复选框,则警告用户

mb5*_*089 8 javascript jquery jquery-selectors

我有一个带有一系列复选框的表单.我想在用户点击提交后警告用户,如果未选中所有复选框.我正在使用以下代码报告复选框的所有值:

$('[id^=leg_rider]').filter(':checked');
Run Code Online (Sandbox Code Playgroud)

这似乎有效.但是,当我尝试检查返回的对象是否为空时,它似乎不起作用.这就是我正在尝试的:

        $("#set_pref_submit").click(function() {
        var legchecked = $('[id^=leg_rider]').filter(':checked');
        if (!legchecked){ alert("no riders")};
    });
Run Code Online (Sandbox Code Playgroud)

任何建议表示赞赏.谢谢!

und*_*ned 13

您可以使用jQuery对象的length属性:

$("#set_pref_submit").click(function() {
    var legchecked = $('input[id^=leg_rider]:checked').length;
    if (legchecked){ alert("no riders")};
});
Run Code Online (Sandbox Code Playgroud)


Tat*_*nit 5

工作演示:http://jsfiddle.net/MrkfW/

试试这个:使用.change api以便它保持轨道 :)

API:http://api.jquery.com/change/

$("input[type='checkbox'][id^=leg_rider]").change(function(){
    var a = $("input[type='checkbox'][id^=leg_rider]");
    if(a.length == a.filter(":checked").length){
        alert('all checked');
    } else {
        alert('not all checked');
    }
});
Run Code Online (Sandbox Code Playgroud)