如何使用 multilineSelectmenu 处理添加的选项(jQuery UI Widget)
How to handle added options with multilineSelectmenu (jQuery UI Widget)
我想使用 multilineSelectmenu (https://github.com/ainterpreting/jquery-multilineSelectmenu) 的 jquery 小部件扩展。
然而,
即使打开 select 框一次,新选项(通过单击按钮 "add item" 添加)也不会出现在框中。
Here is an example.下面是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和它的widget了解不多,所以我无法自己解决。请帮忙!提前致谢。
尝试在添加新小部件后销毁并重新创建小部件option/options:
$('#button').click(function(){
$('#select').append($('<option>').html('new| option'));
$("#select").multilineSelectmenu('destroy');
$("#select").multilineSelectmenu();
})
我想使用 multilineSelectmenu (https://github.com/ainterpreting/jquery-multilineSelectmenu) 的 jquery 小部件扩展。 然而, 即使打开 select 框一次,新选项(通过单击按钮 "add item" 添加)也不会出现在框中。 Here is an example.下面是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和它的widget了解不多,所以我无法自己解决。请帮忙!提前致谢。
尝试在添加新小部件后销毁并重新创建小部件option/options:
$('#button').click(function(){
$('#select').append($('<option>').html('new| option'));
$("#select").multilineSelectmenu('destroy');
$("#select").multilineSelectmenu();
})