继此线程here我能够使用单选按钮和复选框向表单添加验证:如果每个问题至少有一个选项被选中,提交按钮被启用。检查是否在单选按钮和复选框的表单中至少选择了一个选项
这里是代码:
$('input:submit').attr('disabled',true);
var input_groups = {}
$("input:radio, input:checkbox").each(function(){
$(this).attr('checked', false);
input_groups[this.name] = true;
});
$('input:radio, input:checkbox').change(function() {
var submission = true;
for(group in input_groups){
is_checked = !!$("[name=" + group + "]:checked").length
if(!is_checked){ submission = false;}
}
if (submission){
$("label[for='submit']").html('You are ready to submit!');
$('input:submit').attr('disabled',false);
}
});
它的工作原理,但如果我不小心取消选中复选框,提交按钮保持启用状态......我可能失去了一些东西明显...
任何建议?
谢谢
您的代码可以大大压缩的方式。每当你测试一个布尔值,然后在你的下一个语句中使用相同的布尔值是一个压缩区域。此外,当您达到失败状态时(无理由继续),您希望跳出“for”循环。 – 2011-04-18 16:51:05
你是对的亚当。我试图在优化之前使其工作。 – Mirko 2011-04-19 08:47:23