javascript - 选择上的下拉按钮禁用某些第二个下拉选项

标签 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>

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

最佳答案

您可以使用以下方法执行此操作(假设所有值都是数字):

$('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>

关于javascript - 选择上的下拉按钮禁用某些第二个下拉选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59188955/

相关文章:

jquery - 使用 Chart.js 将数据添加到折线图

javascript - 选择显示区域图像的示例代码

javascript - Fancybox 只能在 Dreamweaver cs6 中正常工作

javascript - 将 $timeout 与 Jasmine 的模拟时钟一起使用的单元测试 Angular 服务

javascript - 如何将结果字符串添加到数组中并消除重复项?

Javascript 性能优化?

html - Bootstrap 响应式网格布局(3 列),每个网格元素下方具有折叠/隐藏的 col-12

javascript - 单击时添加悬停效果,如果再次单击则再次删除

Jquery悬停功能在使用ajax调用的子页面中的IE中不起作用

html - 如何使用angular 6获取 typescript 文件中多个复选框的值?