JQuery UI Multiselect, получение значений из разных блоков multiselect - PullRequest
1 голос
/ 23 января 2012

Это ссылка на корень моего вопроса: JQuery UI Multiselect, как получить значения выбранных опций . Проблема заключалась в том, как получить :selected из многоэлементного виджета, созданного Майклом Ауфрайтером.

Существует также решение этой проблемы:

$('.ui-multiselect .selected li').each(function(idx,el){
    var link = $(el).data('optionLink');
    if(link) {
        selFriends.push(link.val()); //array with selected items
    }
}); 

Но я собираюсь добавить второй блок множественного выбора с теми же данными. Это означает, что $('.ui-multiselect .selected li') будет получать :selected элементов из обоих виджетов. Это неправильно, и я не знаю, как изменить код выше. Например, у меня есть два блока выбора с разными идентификаторами, как я могу заставить jQuery распознавать, где находится элемент?


В качестве конечной цели: мне нужно переместить выбранные элементы из первого виджета в массив selFriends и выбранные элементы со второго до anotherArray Есть идеи?

1 Ответ

2 голосов
/ 23 января 2012

Существует более простой способ получить выбранные значения, если вы используете этот вид множественного выбора

Например, если у вас есть элемент <select id="countries" class="multiselect" multiple="multiple" name="countries[]">...</select> (как в примере в ссылке),Вы можете получить выбранные значения, как это:

var selectedValuesArray = $('#countries').val(); // ["AUT", "DEU"]

// second multiselect with id #anotherSelect
var anotherValuesArray = $('#anotherSelect').val();
...