javascript - 2 个相同的选择列表,但不允许在其中选择相同的值

标签 javascript jquery html

这里有我的任务的 javascript 代码:https://jsfiddle.net/gckkvLcv/4/

<select id="s1">
  <option selected="selected">USD</option>
  <option>KZT</option>
  <option>EUR</option>
</select>
<select id="s2">
  <option>USD</option>
  <option selected="selected">KZT</option>
  <option>EUR</option>
</select>
  1. 我需要将其转换为 jQuery 版本。
  2. 在文档加载时,我可以在选择列表中看到相同的值。我需要禁用这种行为。

最佳答案

由于您使用的是 jQuery,因此可以简单地完成如下操作:

$('.tracked_select').on('change', function() {
    //Get selected options
    var selected_options = $('.tracked_select').map(function(){
      return this.value
    }).get();

    //Disable the already selected options and enable others
    $('.tracked_select option').each(function(index) {
      $(this).prop('disabled', $.inArray($(this).val(), selected_options) != -1);
    });
});

希望这有帮助。

trigger_chane();

$('.tracked_select').on('change', function() {
  trigger_chane();
});

function trigger_chane(){
  var selected_options = $('.tracked_select').map(function(){
    return this.value
  }).get();

  $('.tracked_select option').each(function(index) {
    $(this).prop('disabled', $.inArray($(this).val(), selected_options) != -1);
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select class="tracked_select">
  <option selected="selected">USD</option>
  <option>KZT</option>
  <option>EUR</option>
</select>
<select class="tracked_select">
  <option>USD</option>
  <option selected="selected">KZT</option>
  <option>EUR</option>
</select>

关于javascript - 2 个相同的选择列表,但不允许在其中选择相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41150712/

相关文章:

javascript - 你们能帮我用 jasmine 为下面的代码编写测试用例吗

javascript - node.js async.series 是它应该如何工作的?

jquery - 如何将一些 html 元素添加到 jquery uidialog

javascript - Div 中的内联内容

html - 整个网站在移动 View 的右侧有空白边距

javascript - 预选 UI 上的下拉菜单

javascript - Javascript 中的正则表达式结构

javascript - 全宽图像,淡出时淡入

javascript - 正确抑制数据表中的警告?

具有开始时间的 HTML5 视频播放器无法在 Internet Explorer 上运行