首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >克隆select列表后jquery删除/添加选择选项

克隆select列表后jquery删除/添加选择选项
EN

Stack Overflow用户
提问于 2011-06-01 08:16:30
回答 1查看 3.8K关注 0票数 1

我需要能够克隆一个下拉列表,只筛选那些尚未在选择列表组中被选中的选项。

例如,具有以下内容:

代码语言:javascript
运行
复制
<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和删除选择列表将根据到目前为止选择的选项重新填充选择列表。

编辑:为了更好地将其可视化,这里是屏幕截图:

设想情况:

  1. i开始时只选择一个下拉列表(即有5个选项),默认情况下选择=> 1、2、3、4、5 ->第一个选项。添加
  2. I击中克隆->新列表时只添加选项2、3、4、5。选择选项5(在选择列表2中)的
  3. (在选择列表2中)

..and等。

现在,当我删除Select #2 (或任何其他选择列表)时,这意味着所有选择列表都应该重新更新,并包括从已删除的选择列表中选择的选项(在我们的例子中是#2)。

帮助。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-01 08:28:47

这似乎是你想做的事:http://jsfiddle.net/infernalbadger/SKVSu/1/

代码语言:javascript
运行
复制
$('#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 />');
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6198175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档