我有一个表格,其中有一些复选框组。请找到以下代码。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1-4-2.js"></script>
<script type="text/javascript" src="jquery_validate.js"></script>
<script type="text/javascript" src="jquery.keyfilter- 1.7.js"></script>
<script type="text/javascript" >
$(document).ready(function (){
$("#mainfruit").click(function(){
if($('#mainfruit').is(':checked')){
$('input[id^="fruit_"]').attr ( "checked" , false );
$('input[id^="fruit_"]').attr ( "disabled" , false );
}else{
$('input[id^="fruit_"]').attr ( "checked" , false );
$('input[id^="fruit_"]').attr ( "disabled" , true );
}
});
$("#idchecktest").validate({
rules: {
name: {
required: true
},
fruit: {
subselect: true
}
},
messages: {
foldername: {
required: "<br>Please enter the name."
},
fruit: {
subselect:"<br>Please select sub checkbox."
}
},
//errorClass: 'errortext',
errorLabelContainer: "#messagebox"
});
});
$.validator.addMethod('subselect', function (value) {
if($('#mainfruit').is(':checked')){
/*var che=$('input[id^="fruit_"]');
var i=0;
che.each(function (i){
if($(this).is(':checked')){
i=1;
return true;
//break;
}else{
i=0;
//continue;
}
});*/
if($("'input[id^="fruit_"]':checked").length>0){
return true;
}else{
return false;
}
}else{
return true;
}
}, 'check atleast one checkbox');
</script>
</head>
<body>
<form name="checktest" action="" id="idchecktest" method="get">
<table width="200" border="1">
<tr>
<td>Name</td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td>Select Fruits </td>
<td><p>
<input type="checkbox" name="fruit" id="mainfruit" />
Fruits<br />
<input type="checkbox" name="mango" id="fruit_mango" disabled="disabled" />
Mango <br />
<input type="checkbox" name="pineapple" id="fruit_pineapple" disabled="disabled"/>
Pineapple<br />
<input type="checkbox" name="watermellon" id="fruit_watermellon" disabled="disabled"/>
watermellon <br />
<input type="checkbox" name="orange" id="fruit_orange" disabled="disabled"/>
Orange</p> </td>
</tr>
<tr>
<td> </td>
<td><div id="messagebox"> </div></td>
</tr>
<tr>
<td> </td>
<td><label>
<input type="submit" name="submit" id="submit" value="Submit" />
</label></td>
</tr>
</table>
</form>
</body>
</html>
在上面的代码中,我使用了 jquery 表单验证插件。现在我想为一组复选框添加一个自定义验证,即每当用户选中 Fruits 复选框时,他必须在其下选择至少一个复选框。如果他只选中水果复选框而不是它下面的复选框,那么应该会显示一条错误消息。
在上面的代码中,它显示了与复选框相关的错误消息,但是当我们取消选中 maincheckbox 即水果复选框时,相应的错误消息不会出现。1. 请朋友们告诉我我的 jquery 代码有什么问题。2.我也想知道是否可以为另一组复选框使用相同的自定义验证功能,如鲜花
请各位朋友指导一下。谢谢你!