我已经创建了一个JS小提琴,简要概述了我想要完成的事情。你可以在这里查看: http://jsfiddle.net/BNjby/1/
正如您所看到的,"角色"有5种不同的选项。他们的价值观将永远保持不变。基本上,我需要添加js&验证,以便在选择角色培训生时,自动取消选择其他角色(或显示验证错误消息);同样,如果选择其中一个角色,则取消选择实习生。
我目前的Jquery看起来像这样:
$(document).ready(function(){
$("#registerForm").validate({
rules: {
'roles[]':{
required:true,
profile_checkboxes: true
}
},
});
});
$.validator.addMethod("profile_checkboxes", function (value, element) {
if($(element).is(':checked') && value == 5){
$(element).siblings(':checkbox').attr('checked',false);
return true;
} else if ($(element).is(':checked') && value != 5){
if($(element).siblings().val() == 5){
console.log($(this))
}
}
}, "");
和html:
<h1>Form Validation Example</h1>
<form id='registerForm' name='registerForm' method='post' action='' >
<div class="control-group">
<label for="role">Role</label>
<div class="controls" id="role_names">
<label class="checkbox"><input type="checkbox" name="roles[]" value="5" /> Trainee</label>
<label class="checkbox"><input checked="checked" type="checkbox" name="roles[]" value="4" /> Supervisor</label>
<label class="checkbox"><input type="checkbox" name="roles[]" value="6" /> Faculty</label>
<label class="checkbox"><input type="checkbox" name="roles[]" value="7" /> Coordinator</label>
<label class="checkbox"><input type="checkbox" name="roles[]" value="3" /> Manager</label> </div>
</div>
<button class="pull-right btn-success btn" type="submit"><i class="icon-check"></i>Save Changes</button>
</form>
几个星期以来一直困在这个,我觉得是时候要求一些帮助了。非常感谢你:))
答案 0 :(得分:0)
我之前遇到过这种情况。 jQuery验证器不完全支持使用字段名称数组,因为它依赖于字段名称是唯一的。解决这个问题的一种方法是将你的字段名称设置为角色[0],角色[1],角色[2]等。这为jQuery验证器提供了一些独特的绑定方式,通常是你发布数据的语言(php) ,例如)在处理帖子时仍会接受那些作为数组。