[英]jQuery - Remove selected option from parent list
我有清單1:
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="vw" selected>VW</option>
<option value="audi">Audi</option>
</select>
清單2:
<select>
<option value="saab">Saab</option>
<option value="vw">VW</option>
</select>
我想使用jQuery從list2中刪除list1的選定值。 可以是一個或多個值。
我正在使用此代碼從列表1到列表2添加選項:
var options = $("#list1 option:selected").clone();
$("#list2 select").append(options);
如果您有多個選擇元素(“可以是一個或多個值”),則val
方法將返回所選值的數組。 您可以使用該數組來過濾相應的選項元素:
var vals = $('#list1 select').val();
$('#list2 option').filter(function() {
return vals.indexOf(this.value) > -1;
}).remove();
刪除從list1中選擇的list2中的選項
$('#list1').on('change',function(){
var thisval = $(this).val();
$("#list2 option[value='"+thisval+"']").remove();
});
您可以將邏輯分為兩個不同的功能:
根據您是否在選擇框中指定了multiple
屬性,所選值將為數組或單個值。
function remove_options(select, values) { $('> option', select).filter(function() { return values.indexOf(this.value) != -1; }).remove(); } function selected_values(select) { var values = $(select).val(); return $.isArray(values) ? values : [values]; } remove_options('#list2', selected_values('#list1')); remove_options('#list2_multiple', selected_values('#list1_multiple'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select id="list1"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="vw" selected>VW</option> <option value="audi">Audi</option> </select> <select id="list2"> <option value="saab">Saab</option> <option value="vw" selected>VW</option> </select> <select id="list1_multiple" multiple="multiple"> <option value="volvo">Volvo</option> <option value="saab" selected>Saab</option> <option value="vw" selected>VW</option> <option value="audi">Audi</option> </select> <select id="list2_multiple" multiple="multiple"> <option value="saab">Saab</option> <option value="vw" selected>VW</option> </select>
這應該工作:
function removeOption (i) {
$("#list2 select > option:eq("+i+")").remove();
}
removeOption(2);
如果要刪除第三個選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.