如何在select选项事件jquery中使用jquery验证?
在我的脚本中,我尝试了这些。
<script type="text/javascript">
$("select[name='slc_type']").change(function () {
var ass_con = $(this).val();
switch (ass_con) {
case '1':
case '4':
case '7':
$('#pc_detail').removeAttr("hidden");
$('#printer_detail').prop('hidden', true);
$("#newasset_frm1").validate({
onkeyup: false,
onclick: false,
onfocusout: false,
rules: {
txt_fixasset: "required",
slc_condition: "required",
slc_type: "required",
slc_branch: "required",
slc_department: "required",
ass_description: "required",
slc_brand: "required",
slc_model: "required",
txt_servicetag: "required"
}
});
break;
case '2':
case '3':
$('#printer_detail').removeAttr("hidden");
$('#pc_detail').prop('hidden', true);
$("#newasset_frm1").validate({
onkeyup: false,
onclick: false,
onfocusout: false,
rules: {
txt_fixasset: "required",
slc_condition: "required",
slc_type: "required",
slc_branch: "required",
slc_department: "required",
ass_description: "required",
slc_brand: "required",
slc_address: "required",
txt_street: "required"
}
});
break;
}
});
</script>但当我选择select option时,它不起作用。当我点击submit时,它不能通过不满足要求来验证它不是validate.Any idea??
发布于 2017-10-28 23:27:19
select元素调用.validate();这是没有意义的。.validate()方法仅用于对窗体上的插件进行初始化。.validate()。.validate()方法只能调用一次,所有后续调用都将被忽略。一旦初始化,就不能动态更改选项。一个例外是.rules()方法,它允许您动态更改规则。在创建表单时,.validate()方法只应在表单上调用一次,通常在页面加载或页面就绪事件时调用。然后,在switch case中,您可以使用.rules('add')和.rules('remove')方法动态更改表单上的规则。
请参阅:jqueryvalidation.org/rules/
https://stackoverflow.com/questions/46967199
复制相似问题