如何使用 jQuery 或 Javascript 从其他下拉列表中显示/隐藏相同的选项

Posted

技术标签:

【中文标题】如何使用 jQuery 或 Javascript 从其他下拉列表中显示/隐藏相同的选项【英文标题】:How to show / hide same option from other dropdown using jQuery or Javascript 【发布时间】:2021-12-29 22:22:36 【问题描述】:

我有 4 个下拉列表 <td> <select class="encoderSelect" id="encoder1"><option value="None">-- Select User Command --</option><option value="1920*1080">1920*1080</option> <option value="320*240 to 1280* 720">320*240 to 1280*720</option> <option value="720*480">720*480</option> <option value="320*240 to 1920*1080">320*240 to 1920*1080</option> </select></td> 还有另外 3 个下拉菜单,其中 id 就像编码器 2、编码器 3 和编码器 4。如果在此列表的任何 4 个中选择了选项,我想隐藏它。我通过调用类名使用了此代码,但它不起作用。

$('.encoderSelect').change(function()
        var optionval = $('.encoderSelect').val();
        console.log(optionval);
        $(".encoderSelect option[value='"+optionval+"']").hide();
        
    ); 

$('.encoderSelect').on("change", function()
        $('.encoderSelect:selected', this).hide().siblings().show(); 
    ).trigger('change'); // this code also tried but not worked

我可以使用类来实现它吗?或者我必须使用 id..?

【问题讨论】:

请编辑问题,使用工具栏上的<> 图标创建一个可运行的示例。将javascripthtml添加到界面中,并从左侧选择一个jquery版本。即使您使用的版本可能高于所提供的版本,也请使用提供的最新参考。 【参考方案1】:
$('#encoder1').on("change", function()
  var selected = $('#encoder1').val();
  for (var i = 0; i<$('#encoder1').children().length; i++) 
    var element = $('#encoder1 option:eq('+i+')');
    if ($(element).text() === selected) 
      $(element).hide();
     else 
      $(element).show();
    
  
);

demo

【讨论】:

以上是关于如何使用 jQuery 或 Javascript 从其他下拉列表中显示/隐藏相同的选项的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 或 jQuery 更改数组内对象的值?

如何使用 jquery 或 javascript 删除索引处的行? [复制]

如何使用 jQuery 或 JavaScript 设置底边距

如何使用 PHP 或 JavaScript/jQuery 禁用地址栏?

如何防止使用 jQuery 或 Javascript 进行双重提交?

当您使用 javascript 或 jquery 将鼠标悬停时,如何使图像或按钮发光?