在更改输入框时启用保存按钮
Enable save button on change of input box
我是 breeze 实体管理员,负责检查是否对实体进行了更改。所以我声明 observable
isSomeChanged = ko.observable()
然后我像这样绑定值
isSomeChanged(datacontext.hasChanges());
HTML 是
<button data-bind="click: SaveData, enable: isSomeChanged() "> Save</button>
所以现在,如果我在我的页面中更改了某些内容,那么它会启用或禁用按钮。但是,如果我在输入中键入内容,则仅当我退出时才启用按钮,而不是在我键入时立即启用。
如何在输入内容后立即启用保存按钮?
确保在 breeze EntityManager 的 hasChanges 属性 更改时更新您的 isSomeChanged observable:
isSomeChanged = ko.observable();
// update the isSomeChanged observable when the hasChangesChanged event fires.
entityManager.hasChangesChanged.subscribe(
function(changeArgs) {
isSomeChanged(changeArgs.hasChanges);
});
确保您输入的值绑定有一个相应的 valueUpdate 参数设置为 "input"。这将导致对输入的每次更改都会立即写入实体 属性,而不是在输入失去焦点时写入。
<input data-bind="value: entity.FirstName, valueUpdate: 'input'" />
此外,您的按钮的启用绑定可以这样表示(不需要parens):
<button data-bind="click: SaveData, enable: isSomeChanged">Save</button>
我是 breeze 实体管理员,负责检查是否对实体进行了更改。所以我声明 observable
isSomeChanged = ko.observable()
然后我像这样绑定值
isSomeChanged(datacontext.hasChanges());
HTML 是
<button data-bind="click: SaveData, enable: isSomeChanged() "> Save</button>
所以现在,如果我在我的页面中更改了某些内容,那么它会启用或禁用按钮。但是,如果我在输入中键入内容,则仅当我退出时才启用按钮,而不是在我键入时立即启用。
如何在输入内容后立即启用保存按钮?
确保在 breeze EntityManager 的 hasChanges 属性 更改时更新您的 isSomeChanged observable:
isSomeChanged = ko.observable();
// update the isSomeChanged observable when the hasChangesChanged event fires.
entityManager.hasChangesChanged.subscribe(
function(changeArgs) {
isSomeChanged(changeArgs.hasChanges);
});
确保您输入的值绑定有一个相应的 valueUpdate 参数设置为 "input"。这将导致对输入的每次更改都会立即写入实体 属性,而不是在输入失去焦点时写入。
<input data-bind="value: entity.FirstName, valueUpdate: 'input'" />
此外,您的按钮的启用绑定可以这样表示(不需要parens):
<button data-bind="click: SaveData, enable: isSomeChanged">Save</button>