有一个自定义单选按钮。在选择该按钮的“是”时,会出现另一个不需要的字段
$("#btnFormSubmit").click(function() {
var radioValue = $("input[name='CustomDuration']:checked").val();
if (radioValue == 'Yes') {
$("#frmCertificateRequirement").validate({
rules: {
ValidDurationMonths: {
required: false
}
}
})
}
答案 0 :(得分:1)
首先,您需要在页面加载时调用validate()
,而不是在单击表单的提交按钮时调用。
关于您的问题,required
属性将接受一个选择器,您可以使用该选择器动态设置元素的验证要求。试试这个:
$("#frmCertificateRequirement").validate({
rules: {
ValidDurationMonths: {
required: 'input[name="CustomDuration"]:checked'
}
}
});
答案 1 :(得分:0)
如果您不想在选中单选按钮时显示必填消息。 然后,您的代码没有关闭,请更正它。
HTML代码
<form name="btnFormSubmit" id="btnFormSubmit" method="post">
<div>
<label for="username">Username/Email</label>
<input type="text" name="username" autocomplete="false" readonly onfocus="this.removeAttribute('readonly');">
</div>
<button type="submit" id="btnFormSubmit">submit</button>
</form>
<input type="checkbox" name="CustomDuration" id="CustomDuration" value="Yes">checkbox
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.1/jquery.validate.min.js"></script>
完美关闭的JQUERY代码
$("#btnFormSubmit").click(function () {
var radioValue = $('input[name="CustomDuration"]:checked').val();
if (radioValue == "Yes") {
$("#login_form").validate({
rules:{
username:
{
required: false,
}
},
});
}
}); /*You have missing this closing*/