我正在尝试让 jquery ui selectmenu 插件与 knockout.js 配合使用,包括添加选项并对其进行更新。我在下面有工作代码,但性能不是很好。有没有更好的选择。我做超时的原因是因为数组有时还没有绑定到选择并且选择菜单是空的。
https://github.com/fnagel/jquery-ui/wiki/Selectmenu
ko.bindingHandlers.dropdownlist = {
update: function (element, valueAccessor, allBindingsAccessor) {
var values = ko.utils.unwrapObservable(valueAccessor());
var allBindings = allBindingsAccessor();
if (allBindings.options) {
setTimeout(function () {
$(element).selectmenu("destroy").selectmenu(values || {});
}, 0);
} else {
$(element).selectmenu(values || {});
}
}
};