正确,这个主题之前已经讨论过,就像在验证至少一个复选框(以及相关的演示站点http://jsfiddle.net/RGUTv/)时一样。所以我复制了解决方案,但它似乎不起作用,我不知道为什么。控制台显示在 validate() 调用之后根本不会触发已实现的功能。我假设错误只能是我的 html 代码,但具体是什么错误?
有什么建议么?
提前致谢。
html代码:
<input type="checkbox" id="check0" name="productselection0" value="productselected0" class="require-one">
<input type="checkbox" id="check1" name="productselection1" value="productselected1" class="require-one">
<input type="checkbox" id="check2" name="productselection2" value="productselected2" class="require-one">
Javascript代码(在验证至少一个复选框时从解决方案中一对一复制):
<script>
$(document).ready(function() {
$.validator.addMethod('require-one', function(value) {
console.log("addMethod triggered");
return $('.require-one:checked').size() > 0;
}, 'Please check at least one box.');
var checkboxes = $('.require-one');
var checkbox_names = $.map(checkboxes, function(e, i) {
return $(e).attr("name")
}).join(" ");
$("#myForm").validate({
groups: {
checks: checkbox_names
},
errorPlacement: function(error, element) {
if (element.attr("type") == "checkbox")
error.insertAfter(checkboxes.last());
else error.insertAfter(element);
}
}); //validate()
}); //function
</script>