如何在select option event 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>
但是当我选择选项时,它不起作用。它没有验证当我点击提交时没有填写要求它不验证。任何想法??
答案 0 :(得分:1)
您尝试根据.validate()
元素致电select
;这没有意义。 .validate()
方法仅用于初始化表单上的插件。
您还尝试使用不同参数调用附加到同一表单的.validate()
。 .validate()
方法只能调用一次,并且所有后续调用都将被忽略。初始化后,您无法动态更改选项。一个例外是.rules()
方法,它允许您动态更改规则。
.validate()
方法只应在创建表单时在表单上调用一次,通常是在页面加载或页面就绪事件上。然后,在switch case
中,您可以使用.rules('add')
和.rules('remove')
方法动态更改表单上的规则。