Knockout和jQuery-Mobile:绑定选择列表

Knockout和jQuery-Mobile:绑定选择列表,jquery-mobile,knockout.js,Jquery Mobile,Knockout.js,我在我的项目中使用knockout-2.1.0,jquery.mobile-1.2.0-rc.2。 在提交本文之前,我已经阅读了这个链接 我的问题是选择列表并不总是显示值。填充代码是正确的,它总是附加选择列表,当我激发元素时,我找到了数据,但是JQM没有显示 我已经创建了绑定处理程序来启动 $(element).selectmenu('refresh', true); 但我发现这个解决方案并不稳定,在我的浏览器上有时工作正常,有时则不稳定。 在我的IPad2上,它不起作用 这是我的代码: ko

我在我的项目中使用knockout-2.1.0,jquery.mobile-1.2.0-rc.2。 在提交本文之前,我已经阅读了这个链接

我的问题是选择列表并不总是显示值。填充代码是正确的,它总是附加选择列表,当我激发元素时,我找到了数据,但是JQM没有显示

我已经创建了绑定处理程序来启动

$(element).selectmenu('refresh', true);
但我发现这个解决方案并不稳定,在我的浏览器上有时工作正常,有时则不稳定。 在我的IPad2上,它不起作用

这是我的代码:

ko.bindingHandlers.jqmOptions = {

    init: function (element, valueAccessor, allBindingsAccessor, viewModel) {

        if (typeof ko.bindingHandlers.options.init !== 'undefined')
            ko.bindingHandlers.options.init(element, valueAccessor, allBindingsAccessor, viewModel);

    },
    update: function (element, valueAccessor, allBindingsAccessor, context) {
        if (typeof ko.bindingHandlers.options.update !== 'undefined') {
            ko.bindingHandlers.options.update(element, valueAccessor, allBindingsAccessor, viewModel);
        }
        var instance = $.data(element, 'selectmenu');
        if (instance) {
            $(element).selectmenu('refresh', true);
        } 
    }
};
这个问题有没有稳定的解决方案。 谢谢。

来自JQueryDocs:

更新

此事件由框架内动态显示/隐藏内容的组件触发,并作为通知其他组件可能需要更新其大小或位置的通用机制。在框架内,此事件在内容显示/隐藏的组件元素上激发,并一直冒泡到文档元素

$( '#foo' ).hide().trigger( 'updatelayout' );
我看你已经读过了,但是你试过这个解决方案吗?