Javascript 我有两个复选框,需要在表格提交前进行检查

Javascript 我有两个复选框,需要在表格提交前进行检查,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我在小提琴上也发现了这个,但它并没有真正起作用。。我试着根据我的需要定制它 如果您的submit按钮上有一个onSubmit,或者通过jquery添加它,请调用一个函数,该函数将: $('input[type=checkbox]').each(function () { if($(this).is(':checked')) { return true; } }); alert("Please select at least

我在小提琴上也发现了这个,但它并没有真正起作用。。我试着根据我的需要定制它


如果您的submit按钮上有一个onSubmit,或者通过jquery添加它,请调用一个函数,该函数将:

$('input[type=checkbox]').each(function () {
        if($(this).is(':checked')) {
            return true;
        }
    });
    alert("Please select at least one to upgrade.");
    return false;
});

我希望这就是您想要的。

我建议使用一些MVVM框架来实现这一点,但这里有一些代码可以使用jQuery实现。我这样做是为了,提交按钮是禁用的,除非两个框都选中

从这一行:

请至少选择一个进行升级

似乎您至少需要选中一个复选框。如果是这样,您可以这样做:

function areChecked(){
   var is_1_checked = $('#check_1').is(':checked');  
   var is_2_checked = $('#check_2').is(':checked');

   return is_1_checked == is_2_checked == true;
}

function enableButton(val){
    $('#submit').attr('disabled', false);
}

$('#check_1').on('click', function(){
    if (areChecked())
     enableButton(false);
});

$('#check_2').on('click', function(){
   if (areChecked())
     enableButton(false);
}); 
检查有多少复选框未选中,确定该数字是否小于所需数字,如果小于,则触发错误消息

如果您熟悉CSS选择器,还可以进一步简化
长度
变量:

$("form").submit(function(){
    var length = $("input[type=checkbox]").not(":checked").length;
    if (length > 1) {
        alert("Please select at least one to upgrade.");
        return false;
    }
});

您链接的JSFIDLE似乎正在工作,并且用于一种完全不同的用途。究竟什么不起作用?表单是否在未选中两个框的情况下提交?是的表单在未选中这些框的情况下提交。请尝试更新函数
update\u prices()
,并使用更符合您要求的答案。
function areChecked(){
   var is_1_checked = $('#check_1').is(':checked');  
   var is_2_checked = $('#check_2').is(':checked');

   return is_1_checked == is_2_checked == true;
}

function enableButton(val){
    $('#submit').attr('disabled', false);
}

$('#check_1').on('click', function(){
    if (areChecked())
     enableButton(false);
});

$('#check_2').on('click', function(){
   if (areChecked())
     enableButton(false);
}); 
$("form").submit(function(){
    var length = $("input[type=checkbox]").not(":checked").length;
    if (length > 1) {
        alert("Please select at least one to upgrade.");
        return false;
    }
});
var length = $("input[type=checkbox]:not(:checked)").length;