我有一个HTML表单,我正在使用JQuery Validate插件来要求某些表单字段是必需的。我有一个单选按钮字段,有3个选项:
小时 天 不确定
和另一个字段,用于输入与小时或天数选择对应的数字。但是,如果用户选择“不确定”,则不需要输入数字。如果用户没有选择“不确定”(即当他们选择“小时”或“天”时),我无法弄清楚如何仅强制数字字段。这是我目前的HTML:
<form role="form" action="continue.php" method="post" id="durationForm">
<tr>
<td colspan = "3">Please enter the duration?</td>
</tr>
<tr>
<td width="10%"><input type="number" class="form-control" id="duration" name="durationNumber" required></td>
<label for="duration" class="validateError"></label>
<td width="50%">
<div class="controls">
<label class="radio">
<input type="radio" name="duration" id="duration" value="Hours" required> Hours</label>
<label class="radio">
<input type="radio" name="duration" id="duration" value="Days" required> Days</label>
<label class="radio">
<input type="radio" name="duration" id="duration" value="Unsure" required> Unsure</label>
<label for="duration" class="validateError"></label>
</div>
</td>
</tr>
<button type="submit" class="btn btn-primary">Next</button>
</form>
这是脚本:
$(document).ready(function () {
$("#durationForm").validate({
errorClass: "validateError"
});
});
我设置了一个显示此内容的jsfiddle。
答案 0 :(得分:0)
来自:https://stackoverflow.com/a/19546185/1477051
jQuery Validate实际上直接使用dependency expressions支持此功能。
您需要做的就是更改您的验证选项:
$('#myform').validate({
rules: {
fieldA: {
required:'#checkA:checked'
}
}
});
就是这样!
我在您的代码中使用了它:http://jsfiddle.net/xJBX9/1/