【问题标题】:Add elements to select box unless they already are present将元素添加到选择框,除非它们已经存在
【发布时间】:2011-10-23 03:32:03
【问题描述】:

我正在尝试将项目从另一个选择元素添加到一个选择元素,但前提是它们尚不存在:

$('#srcSelect option:selected').appendTo('#dstSelect')

唯一的问题是,如果#dstSelect 中已经存在相同的值,我希望跳过#srcSelect 中的项目。或者换句话说,#dstSelect 中的值应该是唯一的。

使用 jQuery 最简洁的方法是什么?

【问题讨论】:

    标签: javascript jquery select jquery-selectors unique


    【解决方案1】:

    我的解决方案是使用.filter 将所选项目列表过滤为仅在第二个选择中不存在的项目:

    $('#srcSelect option:selected').filter(function() {
        return $('#dstSelect option[value="' + $(this).attr('value') + '"]').length == 0;
    }).appendTo('#dstSelect')
    

    我假设您使用的是<select multiple="multiple">,否则有更简单的方法

    这里是 JSFiddle:http://jsfiddle.net/43P7M/1/

    问候丹尼尔

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-02
      • 2012-03-19
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多