如果选中复选框,如何为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());
答案 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" />