Knockout JS valueUpdate keypress不支持启用绑定

时间:2014-11-21 23:09:17

标签: javascript jquery html knockout.js

我的表单上有一个“保存”按钮,具有敲除启用绑定功能。我将valueUpdate:'keypress'添加到我的knockout绑定表达式中,希望在按键上启用保存按钮。我有一个带有值敲除绑定的简单输入文本框。相反,页面仍然要求用户单击“保存”按钮才能启用。 HTML下面。当用户输入输入时,canSave变为true,启用保存按钮。

<button data-bind="click: save, enable: canSave, valueUpdate: 'keypress'">Save</button>

<h3><strong>First Name: <input data-bind="value: firstName"></strong></h3>

2 个答案:

答案 0 :(得分:5)

valueUpdate绑定只有value绑定才有意义;它应该继续你的输入,而不是你的按钮。

<button data-bind="click: save, enable: canSave">Save</button>
<h3><strong>First Name: <input data-bind="value: firstName, valueUpdate: 'keypress'"></strong></h3>

另外,如果您使用足够新的浏览器支持valueUpdate: 'input',或者textInput binding,请考虑{{1}},如果您使用的是KO&gt; 3.2

答案 1 :(得分:0)

试试这个:

<button data-bind="click: save, enable: firstName().length > 0">Save</button>

<h3><strong>First Name: <input data-bind="value: firstName, valueUpdate:'keypress'"></strong></h3>

从您看来是代码,firstName是一个可观察的,如果是这样,那么上面的代码就会做你需要的。如果没有输入,它将禁用该按钮,否则启用它。