У меня есть набор из 4 флажков, все с разными именами, и требуется, чтобы хотя бы один флажок был установлен.
Я установил для каждого из них класс 'require-one'.
<html>
<head>
<script src="scripts/lib/jquery.js" type="text/javascript"></script>
<script src="scripts/jquery.validate.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
$(document).ready(function(){
$("#itemForm").validate({
rules: {
check1: {
required : {
depends: function(element) {
$('.require-one:checked').size() == 0;
}
}
}
}
});
});
</script>
</head>
<body>
<form name="itemForm" id="itemForm" method="post">
<input type="checkbox" name="check1" id="check1" class="require-one" value="1" />
<input type="checkbox" name="check2" id="check2" class="require-one" value="2" />
<input type="text" class="required" />
<input type="submit" />
</form>
</body>
</html>
Если вы введете 'return'
до $('.require-one:checked').size() == 0;
Однако, теперь моя проблема в том, что сообщение об ошибке исчезнет, только если установлен флажок # 1. Если флажок № 2 установлен, он не исчезнет, а будет отправлен. Как удалить ошибку, если установлены какие-либо флажки?
rules: {
'nameOfAnyCheckbox': {
required : {
depends: function(element) {
return $('.require-one:checked').size() == 0;
}
}
}