jQuery Validate plugin conditional required field

前端 未结 1 1574
悲&欢浪女
悲&欢浪女 2021-01-04 22:01

I\'m having an issue with the jQuery validate plugin. I have a set of 3 radio buttons, if either of the first two are selected, the user is shown an extra s

相关标签:
1条回答
  • 2021-01-04 22:31

    $("#job-earnings-salary:checked") returns a jQuery object which will always be truthy

    $("#client-form").validate({
      focusInvalid: false,
      ignore: [],
      rules: {
        salaryband: {
          required: function(element) {
            return $('#job-earnings-salary').is(':checked')
          }
        }
      }
    });
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.js"></script>
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/jquery.validate.js"></script>
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/additional-methods.js"></script>
    
    <form id="client-form">
      <!-- radio button select -->
      <label>Earnings</label>
      <div class="multiple-select earnings-wrapper clearfix">
        <div class="third">
          <input id="job-earnings-salary" class="trigger" data-type="salary" type="radio" name="jobearnings" value="salary" required="true">
          <label for="job-earnings-salary">Salary</label>
        </div>
        <div class="third">
          <input id="job-earnings-hourly" class="trigger" data-type="hourly" type="radio" name="jobearnings" value="hourly" required="true">
          <label for="job-earnings-hourly">Hourly</label>
        </div>
        <div class="third">
          <input id="job-earnings-unspecified" class="trigger" data-type="none" type="radio" name="jobearnings" value="unspecified" required="true">
          <label for="job-earnings-unspecified">Unspecified</label>
        </div>
        <input type="hidden" name="earningstype" id="earnings-type" class="trigger-input" value="">
      </div>
    
    
      <!-- First select box -->
      <label for="salaryband">Salary Band</label>
      <div class="select">
        <span class="select-default">Select Salary Band</span>
        <div class="options">
        </div>
        <input type="hidden" name="salaryband" id="salaryband" class="salary-band" />
      </div>
      <input type="submit" class="button" value="Submit" />
    </form>

    0 讨论(0)
提交回复
热议问题