Javascript 在页面加载时操作“选择多个列表”设置
我有以下两个选择列表(多个列表),我试图将其设置为一个穿梭机,在左侧为用户提供一个“可用列表”,用户可以从中选择,然后将其传输到右侧选择列表,这是我的“分配列表” HTML代码如下所示:Javascript 在页面加载时操作“选择多个列表”设置,javascript,jquery,Javascript,Jquery,我有以下两个选择列表(多个列表),我试图将其设置为一个穿梭机,在左侧为用户提供一个“可用列表”,用户可以从中选择,然后将其传输到右侧选择列表,这是我的“分配列表” HTML代码如下所示: <select multiple="multiple" name="avail_list" size="7" style="width:250px;" id="AVAILABLE_LIST">
<select multiple="multiple" name="avail_list" size="7" style="width:250px;" id="AVAILABLE_LIST">
<option value="A">A1</option>
<option value="B">B1</option>
<option value="C">C1</option>
<option value="D">D1</option>
<option value="E">E1</option>
<option value="F">F1</option>
</select>
<select multiple="multiple" name="assign_list" size="7" style="width:250px;" id="ASSIGNED_LIST">
<option value="D">D1</option>
<option value="E">E1</option>
<option value="F">F1</option>
</select>
A1
地下一层
C1
D1
E1
一层楼
D1
E1
一层楼
通过使用jQuery,我怎样才能从可用的_列表中删除已选择的选项,以及现在已分配的_列表中的选项
我需要了解如何仅对选项值执行操作(可用的\u列表减去指定的\u列表)
因此,根据上述情况,可用的_列表如下所示:
<select multiple="multiple" name="avail_list" size="7" style="width:250px;" id="AVAILABLE_LIST">
<option value="A">A1</option>
<option value="B">B1</option>
<option value="C">C1</option>
</select>
A1
地下一层
C1
我只是想说清楚,在进入我的页面时,我已经设置了上述数据,也就是说,右侧的“分配列表”中已经有值
在向用户展示此页面的两个选择列表时,我希望在后台以编程方式执行两个集合之间的减号。由于已经进行了选择,因此不需要人工交互
这可能吗?类似的事情
小提琴:
html:
<select id="avail_list" multiple="multiple" name="avail_list" size="7" style="width:250px;" id="AVAILABLE_LIST">
<option value="A">A1</option>
<option value="B">B1</option>
<option value="C">C1</option>
<option value="D">D1</option>
<option value="E">E1</option>
<option value="F">F1</option>
</select>
<select id="assign_list" multiple="multiple" name="assign_list" size="7" style="width:250px;" id="ASSIGNED_LIST">
<!--
<option value="D">D1</option>
<option value="E">E1</option>
<option value="F">F1</option>
//-->
</select>
<br />
<button>MOVE >></button>
$("button").click(function() {
$("#avail_list option:selected").appendTo("#assign_list");
});
是的,你可以,看看这把小提琴: 请尝试以下代码:
$('#ASSIGNED_LIST > option').each(function(index, element){
var val= $(element).val();
$('#AVAILABLE_LIST > option[value="'+val+'"]').remove();
});
谢谢你的帮助,但不幸的是我没有说清楚。请看我上面更新的**说明。谢谢你的帮助,但不幸的是我没有说清楚。请参阅上面我更新的**注释。@扁桃体更新了脚本,它过滤掉了具有相同值的选项。我收到以下javascript错误:未捕获语法错误,无法识别的表达式:[value=my Dog]我在示例中提供的值是伪值。我是否需要在我的值周围添加引号,因为中间有一个空格?谢谢。@扁桃体是的,用双引号(“)。我更新了我的脚本并拉了小提琴。谢谢-我用过了。现在一切都好了。感谢你的帮助@Nicola Peluchetti。