我正在使用带有绑定(bind)到 ko observables 的自定义消息模板的 bootbox 确认对话框。我希望计算 obsrvables 内容并仅在计算返回 true 时启用“ok”确认按钮。
目前我有这个js:
self.name = ko.obsevable():
var messageTemplate = $("#add-template").html();
ko.applyBindings(self, messageTemplate);
bootbox.confirm({
title: "Add new",
message: messageTemplate,
callback: function (value) {
// do something
}
}
}
还有这个 html:
<div id="add-template" style="display:none">
<form role="form">
<div class="row">
<div class="col-xs-8">
<div class="form-group">
<input data-bind='value: name, valueUpdate: "afterkeydown"' placeholder="Name">
</div>
</div>
</div>
</form>
</div>
它工作正常,但我希望仅在验证“名称”输入时启用引导箱“确定”按钮(使用服装验证功能)
这可能吗? 谢谢!
最佳答案
好吧,我终于明白了。这是答案:)
http://jsfiddle.net/6vb7e224/5/
var viewModel = function () {
var self = this;
self.name = ko.observable();
self.select = function () {
var messageTemplate = $($("#add-template").html());
ko.applyBindings(self, messageTemplate.get(0));
messageTemplate.show();
bootbox.dialog({
title: "Add new",
message: messageTemplate,
callback: function (value) {
},
buttons: {
render: {
disabled: "false",
label: "render",
className: "btn-success",
callback: function() {
return false;
}
},
overrride: {
label: "override",
className: "btn-primary",
callback: function() {}
},
}
});
}
}
ko.applyBindings(new viewModel());
关于javascript - 使用 KO 禁用\启用 Bootbox 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27244252/