如何使用jQuery控制输入类型下拉菜单

时间:2018-06-25 14:49:35

标签: javascript jquery html

我正在创建一个网站。在这个网站上,我创建了一个表格。因此,下面有2个下拉菜单。

我想将成人和儿童的数量限制为9个。一个人可以选择,即4个成人和0至5个孩子,或者6个成人和0-3个孩子,但总数不得超过9个。

到目前为止,我尝试的代码仅适用于成年人,而不适用于总计(成年人+儿童)。但是,在子菜单中选择一个值不是强制性的。如果用户愿意,可以将其保留为0。

我该怎么做??

这是我尝试过的Jquery部分:

<script type="text/javascript">
   $(document).ready(function () {

      var adults = parseFloat($('#adults').val());
      var children = parseFloat($('#children').val());
      var infants = $('#infants').val();
      var Total = adults + children;

      $('#adults').change(function() {
          if (this.value > 8) {// check against the value of the adults drop down
              $("#children").prop('disabled', true);
          } else {
              $("#children").prop('disabled', false);  // probably need to re-enable it
          }
      });
  });
</script>

这是HTML下拉视图。

<form class="form-horizontal" method="POST" action="#" enctype="multipart/form-data" id="signupForm">

  <div class="col-md-4 col-sm-12 hero-feature">
    <!-- Start Of The Col Class -->
    Adults :
    <select name="adults" class="form-control" id="adults">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
    </select> <br>
  </div>

  <div class="col-md-4 col-sm-12 hero-feature">
    <!-- Start Of The Col Class -->
    Children :
    <select name="children" class="form-control" id="children">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
    </select> <br>

  </div>

  <a href="#" id="ghsubmitbtn" class="btn btn-success">Search Flight Data</a>

</form>

1 个答案:

答案 0 :(得分:1)

以下代码段可能会对您有所帮助。

   var totalAdultChild = 9;
   $('#adults').change(function() {
       var adultValue = this.value;
       if (this.value > 8) {                     
           $("#children").prop('disabled', true);
       } else {
           $("#children").prop('disabled', false);  
           $('#children option').each(function(index,element){
               if((totalAdultChild-adultValue)<this.value){
                   $(this).hide();
               } else {
                   $(this).show();
               }
            });
        }
    });