Как обрабатывать добавленные опции с помощью multilineSelectmenu (JQuery UI Widget)
Я хочу использовать расширение виджета jquery для multilineSelectmenu ( https://github.com/ainterpreting/jquery-multilineSelectmenu). Тем не менее, после открытия поля выбора хотя бы один раз, новые параметры (добавленные нажатием кнопки "Добавить элемент") не отображаются в окне. Вот пример. И следующее содержание multilineSelectmenu
/* this is the custom selectmenu widget extension add multiline and css theming support */
var multilineSelectmenu = $.widget("ui.multilineSelectmenu", $.ui.selectmenu, {
_setText: function (element, value) {
if (value) {
if (value.indexOf('|') !== -1) {
var lines = value.split('|');
value = '<span class="ui-selectmenu-menu-item-header">' + lines[0].trim() + '</span>';
for (var i = 1; i < lines.length; i++) {
value = value + '<span class="ui-selectmenu-menu-item-content">' + lines[i].trim() + '</span>';
}
}
element.html(value);
} else {
element.html(" ");
}
}
});
Я ищу эту проблему несколько часов, но, поскольку я мало что знаю о jquery-ui и его виджете, я не смог решить сам. Пожалуйста помоги! Заранее спасибо.
1 ответ
Решение
Попробуйте уничтожить и воссоздать виджет после добавления новой опции / параметров:
$('#button').click(function(){
$('#select').append($('<option>').html('new| option'));
$("#select").multilineSelectmenu('destroy');
$("#select").multilineSelectmenu();
})