如何将Jquery对话框按钮绑定到knockout viewmodel

Kei*_*las 5 jquery-ui knockout.js

我想要做的是创建一个对话框,其中按钮被数据绑定到knockout视图模型,因此我可以根据表单上的各种条件启用或禁用这些按钮

但是你在jquery对话框中创建按​​钮的方式与正常情况略有不同.

有人有解决方案吗?

And*_*ker 6

  1. 确保将自己的应用程序应用于class对话框的按钮:

    $("#dialog").dialog({
        buttons: [{
            text: 'Ok',
            class: 'ok-button'
        }]
    });
    
    Run Code Online (Sandbox Code Playgroud)
  2. 抓住button.ok-button并应用一个data-bind属性(visible这里,只是为了告诉你它的工作原理).这name是我们的视图模型的可观察属性:

    $("button.ok-button").attr("data-bind", "visible: name().length");
    
    Run Code Online (Sandbox Code Playgroud)
  3. 通常应用绑定:

    var model = { name: ko.observable('') };
    ko.applyBindings(model);
    
    Run Code Online (Sandbox Code Playgroud)

这是一个示例,如果name(一个可观察的)有一个长度,隐藏对话框上的"确定"按钮> 0:http://jsfiddle.net/9cRFy/