我正在使用jquery.validate表单表单验证。问题是表单上有大约40个无线电输入,s1_AM
,s1_PM
,s2_AM
,s2_PM
,每个输入都有大约10个radio
个输入。四个选项中至少有一个必须检查,但不是全部四个。如果我在代码中放入class="required"
,它是不正确的,因为它使得所有四个选项都是必需的。我如何解决这个问题?确保至少有40个单选按钮中的1个被选中
理想情况下,id喜欢保持验证的方式,但如果收音机为空则添加警报。
jQuery的
jQuery.validator.messages.required = "";
$("#enroll").validate({
invalidHandler: function(e, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'You missed 1 required field'
: 'You missed ' + errors + ' required fields';
$("div.Error span").html(message);
$("div.Error").show();
} else {
$("div.Error").hide();
}
}
});
的收音机是动态的,顺便说一句:
if($row['s1_AM_fill'] < $row['s1_AM_cap']) {
$s1_AM .= '<input type="radio" name="s1_AM" id="s1_AM_'.$id.'" value="'.$id.'" />;
}
再加上三个以上,s1_PM
,s2_AM
和s2_PM
。
这里就是我所做的,只是一旦警报启动时,它不会停止
$('#submit').click(function() {$("ul.courses").each(function(){
$(this).find("input[type=radio]").each(function(){
alert("You must select at least 1 available course");
});
return false;
});
请出示您的渲染HTML ...不是所有的40次投入,但足以制定一个简洁的演示。另外,请更好地解释你想要的内容......同一组中的所有40个输入(相同的'name')?等等? – Sparky 2013-02-18 06:41:21