Knockoutjs!如何在选中复选框时如何为INPUT启用observable?

时间:2013-12-30 09:40:02

标签: javascript knockout.js frontend

如果选中复选框,如何为INPUT启用observable?

HTML

<input type="checkbox" data-bind="checked: booleanValue" />    
<p>First name: <input data-bind="value: firstName" /></p>
<p>First name: <input data-bind="value: firstName" /></p>
<p>First name: <input data-bind="value: firstName" /></p>

JS:

function AppViewModel() {
   booleanValue = ko.observable(true);
   this.firstName = ko.observable();
}

// Activates knockout.js
ko.applyBindings(new AppViewModel());

1 个答案:

答案 0 :(得分:1)

您可以使用enable绑定。它应该做你想要的。

<input data-bind="value: firstName, enable: booleanValue" />

在向ViewModel添加字段时,不要忘记添加this(否则,您将创建一个全局变量):

this.booleanValue = ko.observable(true);

告诉我这是否有帮助。

<强>更新

由于您在评论中对问题进行了精确处理,因此在选中此框时,您可以在不同的observable(或简称值)之间进行切换:

<input data-bind="value: booleanValue() ? firstName : otherValue" />