如果所选值使用 jquery 匹配,则禁用下拉列表中的选项

Disable options in drop-down if selected value matches using jquery

我有一个包含重复值的下拉列表。现在我想禁用与所选值匹配的选项。

为什么要用重复的值填充下拉列表?那只是令人困惑。

如果您出于任何原因需要在下拉列表中包含重复值。请更详细地解释原因,也许可以举个例子。

如果您不需要重复值,那么您应该在填充下拉列表

之前明确地整理出重复值

使用 .prop('disabled',true); 元素可以被禁用。请查看下面的代码片段以了解如何禁用具有相同值的所有其他选项。

$('#duplicate').on('change',function(){
$(this).find('option').prop('disabled',false);  
$(this).find('option[value="'+$(this).val()+'"]').prop('disabled',true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="duplicate">
  <option value="">select</option>
  <option value='1'>1</option>
  <option value='2'>2</option>
  <option value='1'>1</option>
  <option value='1'>1</option>
  <option value='3'>3</option>
  <option value='4'>4</option>
  <option value='3'>3</option>
</select>