选择上的下拉菜单按钮禁用第二个下拉菜单选项

时间:2019-12-05 05:43:30

标签: javascript jquery html css

我目前有两个这样的下拉菜单:

        <select name="start" class="form-control">
            {% for i in range(2000) %}
            <option value={{i}}>{{i}}</option>
            {% endfor %}
        </select>
        End
        <select name="end" class="form-control">
            {% for i in range(2000) %}
            <option value={{i}}>{{i}}</option>
            {% endfor %}
        </select>

我不能让开始时间超过结束时间,但是不确定应该如何做。

1 个答案:

答案 0 :(得分:1)

您可以通过以下操作(假设所有值都是数字)来完成此操作:

$('select[name="start"').change(function(){
  var year = $(this).val();
  $('select[name="end"] option').filter(function() {
    return parseInt($(this).val()) < year;
  }).prop('disabled', true);
});
$('select[name="end"]').change(function(){
  var year = $(this).val();
  $('select[name="start"] option').filter(function() {
    return parseInt($(this).val()) > year;
  }).prop('disabled', true);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Start:
<select name="start" class="form-control">
  <option value="100">100</option>
  <option value="200">200</option>
  <option value="300">300</option>
  <option value="400">400</option>
  <option value="500">500</option>
  <option value="600">600</option>
  <option value="700">700</option>
  <option value="800">800</option>
  <option value="900">900</option>
  <option value="1000">1000</option>
</select>
End:
<select name="end" class="form-control">
  <option value="100">100</option>
  <option value="200">200</option>
  <option value="300">300</option>
  <option value="400">400</option>
  <option value="500">500</option>
  <option value="600">600</option>
  <option value="700">700</option>
  <option value="800">800</option>
  <option value="900">900</option>
  <option value="1000">1000</option>
</select>