Добавить элементы в поле выбора, если они уже отсутствуют - PullRequest
1 голос
/ 09 августа 2011

Я пытаюсь добавить элементы в элемент выбора из другого элемента выбора, но только если их еще нет:

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

Единственная проблема с этим состоит в том, что я хочу, чтобы элемент в #srcSelect был пропущен, если такое же значение уже присутствует в #dstSelect. Или, другими словами, значения в #dstSelect должны быть уникальными.

Какой самый лаконичный способ сделать это с помощью jQuery?

1 Ответ

3 голосов
/ 09 августа 2011

Мое решение было бы использовать .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/

привет Даниил

...