Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用KO禁用\启用引导框按钮_Javascript_Knockout.js_Bootbox - Fatal编程技术网

Javascript 使用KO禁用\启用引导框按钮

Javascript 使用KO禁用\启用引导框按钮,javascript,knockout.js,bootbox,Javascript,Knockout.js,Bootbox,我正在使用一个引导框确认对话框和一个定制的消息模板,该模板绑定到ko可观察对象。我希望计算observables内容并仅在计算结果返回true时启用“ok”确认按钮 目前我有一个js: self.name = ko.obsevable(): var messageTemplate = $("#add-template").html(); ko.applyBindings(self, messageTemplate); bootbox.confirm({ titl

我正在使用一个引导框确认对话框和一个定制的消息模板,该模板绑定到ko可观察对象。我希望计算observables内容并仅在计算结果返回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:


它工作得很好,但我希望只有在验证“name”输入时才启用bootbox“ok”按钮(带有服装验证功能)

可能吗?
谢谢

我终于明白了。答案是:)


是的,这是可能的,但你能不能设置一把小提琴,让事情顺利进行。明白了!:)哦,伙计,如果是这样的话,我已经这么做了,我正在寻找完美的方法来禁用它,而不是在这里我们调用回调,但什么也不做,这就像是一个
欺骗代码
。我想你可能已经用这个逻辑实现了它。干杯
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());