javascript - 使用 KO 禁用\启用 Bootbox 按钮

标签 javascript knockout.js bootbox

我正在使用带有绑定(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/

相关文章:

javascript - 提示用户声音权限

javascript - 无法访问 datamuse api 上的 JSON 数据

javascript - 滚动到顶部 React 不适用于 Reactdom 的 findDOMNODE

javascript - 防止在 knockout.js 中运行计算属性(dependentobservable)

javascript - 如何使用knockoutjs绑定(bind)嵌套输入

javascript - 如何显示 Bootstrap 箱关闭前的剩余秒数?

javascript - 从回调函数返回一个对象,以便包装函数可以在 node.js/express 中返回相同的对象

knockout.js - 用悬停击倒可见绑定(bind)?

jquery - Bootstrap Bootbox 在加载警报框后删除浏览器滚动条

javascript - 淡入模式下的 ScrollTop bootbox 模态