2012-08-28 79 views
0

在我的html,我有这样的数据绑定jQuery的selectmenu组合框关闭时扣了在IE和Chrome

<select data-bind="options: graders, 
    optionsText: 'LastName', 
    optionsValue: 'Id', 
    selectmenuValue: selectedGroup().GraderId, 
    optionsCaption: 'Choose a grader'"> 
</select> 

在我的JavaScript,我有以下刷新实时UI

ko.bindingHandlers.selectmenuValue = { 
    init: function (element, valueAccessor, allBindingsAccessor, viewModel) { 
     if (typeof ko.bindingHandlers.value.init !== 'undefined') { 
      ko.bindingHandlers.value.init(element, valueAccessor, allBindingsAccessor, viewModel); 
     } 
    }, 

    update: function (element, valueAccessor, allBindingsAccessor, viewModel) { 
     if (typeof ko.bindingHandlers.value.update !== 'undefined') { 
      ko.bindingHandlers.value.update(element, valueAccessor, allBindingsAccessor, viewModel); 
     } 
     $(element).selectmenu(); 
    } 
}; 

所有的工作都在Firefox中运行良好,但在IE和Chrome上,只要我将鼠标放在组合框上,它的弹出框就会立即关闭。弹出窗口应该像Firefox一样保持打开状态。经过多次尝试,我发现如果将鼠标从第一个项目移动到其他项目中的某一个,同时按下它的按钮并在该点按下,我可以使它保持打开状态。

任何人都知道如何解决这个问题?

更新:我刚刚意识到它的弹出窗口的位置在IE和Chrome中很少,我相信这是上述行为的原因。仍在寻找修复。

回答

0

你想要的风格被设置为“下拉”我相信

$(element).selectmenu({style: 'dropdown'});