使用javascript/jQuery从下拉列表中删除和添加值
我试图在我的代码中实现以下内容,但它变得越来越复杂。 我有n个下拉列表,其中有或没有重复值 为了简单起见,让我们假设以下场景: 下拉列表1:使用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
<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();
}
});