jQuery验证:仅在选择选项时才需要make字段

时间:2015-05-19 06:20:09

标签: javascript jquery jquery-validate

我使用jQuery Validate插件,并且如果另一个选择字段具有选定选项,则仅需要选择字段。这是我的代码:

HTML

<form id="my-form">
   <input type="text" id="myInput" name="myInput">

   <select id="mySelect" name="mySelect">
      <option value="">Please select</option>
      <option value="1">Option 1</option>
      <option value="2">Option 2</option>
      <option value="3">Option 3</option>
    </select>

    <select id="myOtherSelect" name="myOtherSelect">
       <option value="">Please select</option>
       <option value="1">Other option 1</option>
       <option value="2">Other option 2</option>
       <option value="3">Other option 3</option>
    </select>
</form>

JAVASCRIPT

 $('#my-form').validate({
                    debug: true,
                    rules: {
                        myInput: {
                            required: true
                        },
                        myOtherSelect: {
                            required: function () {
                                return $(this).find('[name="mySelect"]').val() != '';
                            }
                        }
        }});

如果为“my-select”字段选择了一个选项,我该如何管理选择字段“my-other-select”?

2 个答案:

答案 0 :(得分:2)

您的代码运行正常,但根据您的评论,我认为您所追求的是

$('#my-form').validate({
    debug: true,
    rules: {
        myInput: {
            required: true
        },
        myOtherSelect: {
            required: function (el) {
                return $(el).closest('form').find('.mySelect').val() != '';
            }
        }
    }
});

演示:Fiddle

答案 1 :(得分:1)

来自http://jqueryvalidation.org/validate/

$("#myform").validate({
  ignore: ".ignore"
});

您可以添加一个忽略验证的类,并在选择值时将其删除。