我使用knockout-jQuery-UI-widget.js.的knockout和jQuery UI
我创建对话框:
<div class="dialog" id="my-dialog" data-bind='jqueryui: { widget: "dialog", options:{autoOpen: false,modal:true,
closeOnEscape: false,
resizable: false,
draggable: false,
width: 600,
position: "center top+80",
title:MyApp.i18n.gettext("Configure")
} }'>
...
</div>
在我的代码中,我用打开它
$("#my-dialog").dialog("option", "buttons", that.getButtons()).dialog("open");
其中
that.getButtons = function(){
return [{
text: MyApp.i18n.gettext("Button1"),
click: function(){
...
},
disable: ?
}];
};
我的问题是,如何在jQueryUIDialog中将disable值绑定到这个jQueryUIButton。
如果不使用自己的按钮在html中编写自己的模板,有没有可能做到这一点?
我不知道这是否可行,因为我从未使用过jquery ui库,但Knockout提供了它自己的禁用绑定
<div class="dialog" id="my-dialog"
data-bind='disable: amIDisabled, jqueryui: { ... }'>
...
</div>
其中amIDisabled
是视图模型中的可观测值