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;