我目前正在使用以下jQuery validation engine.。我希望最少选择3个不同的复选框,html如下所示:
<fieldset class="group" id="tajirr_user_complete_registration_wanita">
<legend><label class="required">Wanita</label></legend>
<ul class="checkbox">
<li><input type="checkbox" class="validate[minCheckbox[3], maxCheckbox[5]]" data-prompt-position="topLeft:0,-30" id="tajirr_user_complete_registration_wanita_0" name="tajirr_user_complete_registration[wanita][]" value="10"><label for="tajirr_user_complete_registration_wanita_0">Atasan & Bawahan</label></li>
<li><input type="checkbox" class="validate[minCheckbox[3], maxCheckbox[5]]" data-prompt-position="topLeft:0,-30" id="tajirr_user_complete_registration_wanita_1" name="tajirr_user_complete_registration[wanita][]" value="11"><label for="tajirr_user_complete_registration_wanita_1">Dress</label></li>
</ul>
</fieldset>
<fieldset class="group" id="tajirr_user_complete_registration_pria">
<legend><label class="required">Pria</label></legend>
<ul class="checkbox">
<li><input type="checkbox" class="validate[minCheckbox[3], maxCheckbox[5]]" data-prompt-position="topLeft:0,-30" id="tajirr_user_complete_registration_pria_0" name="tajirr_user_complete_registration[pria][]" value="19"><label for="tajirr_user_complete_registration_pria_0">Atasan & Bawahan</label></li>
<li><input type="checkbox" class="validate[minCheckbox[3], maxCheckbox[5]]" data-prompt-position="topLeft:0,-30" id="tajirr_user_complete_registration_pria_1" name="tajirr_user_complete_registration[pria][]" value="21"><label for="tajirr_user_complete_registration_pria_1">Sepatu</label></li>
<li><input type="checkbox" class="validate[minCheckbox[3], maxCheckbox[5]]" data-prompt-position="topLeft:0,-30" id="tajirr_user_complete_registration_pria_2" name="tajirr_user_complete_registration[pria][]" value="22"><label for="tajirr_user_complete_registration_pria_2">Batik</label></li>
</ul>
</fieldset>
我想在表单上进行验证,以便至少选中3个复选框。但是上述方法无效,因为minCheckbox
根据name
属性进行了验证,该属性有两种形式:tajirr_user_complete_registration[pria][]
,另一种tajirr_user_complete_registration[wanita][]
。我可以更改名称,以便它可以正常工作,但它打破了其他东西。我怎样才能使它在整个表格中得到验证?
答案 0 :(得分:1)
如果你想要检查至少3个中的3个,你可以这样做。无需验证: http://jsfiddle.net/nSgC8/
function check(){
var checked=0;
$( "input:checkbox" ).each(function() {
if($(this).is(':checked')){
checked++;
}
});
if(checked>2){
alert('Ok!');
}
else{
alert('At least 3 checkboxes need to be selected!');
}
}
答案 1 :(得分:0)
在onsubmit
的{{1}}事件中,您可以使用类似的内容代替验证者:
<form>
我使用了这段代码:
if ($("input:checked").length > 2)
// Proceed
else
// Alert
答案 2 :(得分:0)
var checked_count = $('input:checkbox:checked').length;
alert(checked_count + " checkboxes are checked");