如何在select选项事件jquery中使用jquery验证

时间:2017-10-27 03:46:17

标签: javascript jquery jquery-validate

如何在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>

但是当我选择选项时,它不起作用。它没有验证当我点击提交时没有填写要求它不验证。任何想法??

1 个答案:

答案 0 :(得分:1)

  1. 您尝试根据.validate()元素致电select;这没有意义。 .validate()方法仅用于初始化表单上的插件。

  2. 您还尝试使用不同参数调用附加到同一表单的.validate().validate()方法只能调用一次,并且所有后续调用都将被忽略。初始化后,您无法动态更改选项。一个例外是.rules()方法,它允许您动态更改规则。

  3. .validate()方法只应在创建表单时在表单上调用一次,通常是在页面加载或页面就绪事件上。然后,在switch case中,您可以使用.rules('add').rules('remove')方法动态更改表单上的规则。

    请参阅:jqueryvalidation.org/rules/