Javascript jquery克隆选择列表后删除/添加选择选项
我需要能够克隆一个下拉列表,并只过滤那些在选择列表组中尚未选择的选项 例如,具有以下特性:Javascript jquery克隆选择列表后删除/添加选择选项,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我需要能够克隆一个下拉列表,并只过滤那些在选择列表组中尚未选择的选项 例如,具有以下特性: <select name="SelectService" class="selService"> <option value="1">Some service</option> <option value="2">Another one</option> <option value="3">One more</option>
<select name="SelectService" class="selService">
<option value="1">Some service</option>
<option value="2">Another one</option>
<option value="3">One more</option>
</select>
当我单击“克隆”按钮时,它将克隆选择列表,其中仅包含尚未选择的选项
例如:选择选项某些服务->点击克隆->新建选择列表仅添加选项值:2和3
等等。克隆和删除选择列表将根据迄今为止选择的选项重新填充选择列表
编辑:
为了更好地将其可视化,以下是屏幕截图:
情景:
我一开始只有一个下拉列表
有5个选项的列表=>
默认情况下选择1,2,3,4,5->第一个选项。
我点击克隆->
新列表仅添加选项
2,3,4,5.
我在选择列表中选择选项5
2.
我点击克隆->添加新列表3
只有选项2、3、4
我在选择列表中选择选项2
3.
我点击了克隆->新列表4
使用选项3,4创建
…等等
现在,当我删除Select list 2或任何其他Select list时,这意味着所有Select list都应该重新刷新,并在案例2中包含已删除Select list中的Select选项
救命啊。
谢谢这似乎是你想要的:
@Shane抱歉,你是什么意思?@Shane我已经更新了我的答案,可以使用多个选项。不过,我会让你试着找出一个解决方案。
$('#clone').click(function() {
var original = $('select.selService:eq(0)');
var allSelects = $('select.selService');
var clone = original.clone();
$('option', clone).filter(function(i) {
return allSelects.find('option:selected[value="' + $(this).val() + '"]').length;
}).remove();
$('#target').append(clone).append('<br />');
});