使用javascript/jQuery从下拉列表中删除和添加值

使用javascript/jQuery从下拉列表中删除和添加值,javascript,jquery,drop-down-menu,Javascript,Jquery,Drop Down Menu,我试图在我的代码中实现以下内容,但它变得越来越复杂。 我有n个下拉列表,其中有或没有重复值 为了简单起见,让我们假设以下场景: 下拉列表1: <select> <option>100</option> <option>200</option> <option>102</option> </select> 下拉列表2: <select> <option>100</opti

我试图在我的代码中实现以下内容,但它变得越来越复杂。 我有n个下拉列表,其中有或没有重复值

为了简单起见,让我们假设以下场景:

下拉列表1:

<select>
<option>100</option>
<option>200</option>
<option>102</option>
</select>
下拉列表2:

<select>
<option>100</option>
<option>200</option>
<option>201</option>
</select>
下拉列表3:

<select>
<option>100</option>
<option>300</option>
<option>301</option>
</select>
案例1: 如果用户从下拉列表1中选择值100,则应从所有下拉列表中删除100。当用户将下拉列表1的值从100更改为200时,则应将100添加回所有下拉列表,并从所有下拉列表中删除200

删除似乎很容易,但添加回值并不困难


我如何维护一个列表或其他数据结构,以便在多个值发生变化时记住要添加的值和位置?是否有任何高级jquery特性或通用JavaScript逻辑可以使用

最好将display设置为none。因此,您将避免按适当顺序添加或删除的复杂性。 因此,您可以轻松地将其返回可见

$( "option" ).each(function( index ) {
    $(this).css("display", "");
});
设置第一个下拉列表的id=下拉列表
在这里选择值并定义它是一个变量循环下拉菜单,当值=选定值时使用页内删除选项。如果仅禁用该选项而不是实际删除该选项就足够了,则以下操作可能适用于您。您可能希望在最初加载站点时调整对选择的处理

$'select option[value='+$'select'.eq0.val+']'。非:eq0.prop'disabled',true; $'select'。在'change'上,函数{ var val=$this.val; $'select option'.prop'disabled',false; $'select option[value='+val+']'。不是$this.prop'disabled',true; }; 100 200 102 100 200 201 100 300 301
如果他们从第一选择中选择100,从第二选择中选择200,您是否从第一个下拉列表中删除了200?是否仅对第一个下拉列表手动更改下拉列表?是200应该从下拉列表中删除选项列表禁用该选项而不是删除是否足够?@IstiaqueAhmed没有用户可以更改任何下拉列表。+1是的,我已在其他下拉列表中禁用了所选选项,并且可以正常工作喜欢魅力。朴素典雅。
$("#drop").change(function () {
var selected_value=$(this).val();
var dropdown=$(select);
for(i=0;i<dropdown.length;i++){
$("dropdown[i]   option[value=selected_value]").remove();
}
});