我需要能够克隆一个下拉列表,只筛选那些尚未在选择列表组中被选中的选项。
例如,具有以下内容:
<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。
etc..cloning和删除选择列表将根据到目前为止选择的选项重新填充选择列表。
编辑:为了更好地将其可视化,这里是屏幕截图:
设想情况:
..and等。
现在,当我删除Select #2 (或任何其他选择列表)时,这意味着所有选择列表都应该重新更新,并包括从已删除的选择列表中选择的选项(在我们的例子中是#2)。
帮助。谢谢
发布于 2011-06-01 08:28:47
这似乎是你想做的事:http://jsfiddle.net/infernalbadger/SKVSu/1/
$('#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 />');
});
https://stackoverflow.com/questions/6198175
复制相似问题