Как добавить опцию, используя плагин MultiSelect jQuery - PullRequest
3 голосов
/ 24 июня 2011

Я использую плагин jQuery - MultiSelect.

Я хочу иметь возможность добавить опцию в мое начальное поле выбора, а затем обновить интерфейс пользователя MultiSelect с новой опцией.

Вот что у меня есть (что не работает).

var value = $("#newGroup").val();
$('#Select1').append("<option value=\"" + value + "\">" + value + "</option>");

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

Вот код, который я использую для реализации плагина.

$("#Select1").multiselect({ sortable: false, searchable: true });

Вот домашняя страница плагина: http://quasipartikel.at/multiselect_next/

Ответы [ 3 ]

17 голосов
/ 26 июля 2012

У вас есть последняя версия MultiSelect?В версии 1.8 добавлена ​​команда обновления, предназначенная для обновления списков с учетом новых добавленных или удаленных параметров.Ваша кодовая последовательность должна быть:

var value = $("#newGroup").val();
$('#Select1').append("<option value=\"" + value + "\">" + value + "</option>");
$('#Select1').multiselect( 'refresh' );
4 голосов
/ 24 июня 2011

попробуй использовать

$('.multiselect').multiselect('destroy');
$('.multiselect').multiselect();
2 голосов
/ 24 марта 2017

Для старых версий вы можете попробовать это

$('select').multiselect('destroy').removeData().multiselect();

Метод 'destroy' не удаляет данные из узла select, поэтому, когда вы пытаетесь инициализировать его снова, он думает, что он уже инициализирован. removeData () решает проблему.

В новых версиях есть метод «обновить», поэтому вы можете добавить некоторые опции к select и вызывать

$('select').multiselect('refresh');

, когда мультиселектор уже инициализирован.

...