Knockout.js只在值改变时启用保存
Knockout.js enable save only if value change
我有一个简单的html页面值输入和保存按钮。我想保存将被启用,只有当值被改变(有时是初始化,有时不是)。
我试了几件事都没有成功
HTML<input type="text"
placeholder="type here"
data-bind="value: rate,"/>
<button data-bind="click: save">Save</button>
JS
var viewmodel = function () {
this.rate = ko.observable('88').extend(required: true);
};
viewmodel.prototype.save = function () {
alert('save should be possible only if rate is changed);
};
应该能够通过计算的可观察对象和enable
绑定实现这一点。见http://jsfiddle.net/brendonparker/xhLrB/1/
var ctor = function () {
var self = this;
self.originalRate = '88';
self.rate = ko.observable('');
self.canSave = ko.computed(function(){
return self.originalRate == self.rate();
});
};
ctor.prototype.save = function () {
alert('save should be possible only if rate is changed');
};
ko.applyBindings(new ctor());
HTML: <input type="text" placeholder="type here" data-bind="value: rate, valueUpdate: 'afterkeydown'"/>
<button data-bind="click: save, enable: canSave">Save</button>
相关文章:
- 如何将getJson的响应保存在全局变量中
- 按下按钮时保存cookie
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 如何使用 Angular JS 将数据保存在数据库中
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 是否可以在浏览器中使用纯JavaScript保存音频流
- 如何强制用户从下拉列表和按钮中选择一个值以启用保存按钮
- 刷新jqGrid;t在启用无限滚动的情况下保存当前页面位置
- 如何使用复选框启用选项并通过本地存储进行保存
- 启用禁用的文本字段并保存修改后的值
- 更改输入框时启用保存按钮
- 启用 JQ 网格上的“保存”按钮,其中包含内联编辑和单元格编辑
- 保存更改后启用只读文本框
- 绑定骨干表单视图ui到模型更改以启用和禁用"保存"按钮
- 保存完成成功时启用按钮
- 检测主干模型更改以启用表单保存按钮并更新模型
- 重新启用禁用菜单"将视频保存为"chrome ext或chrome本身"另存视频"
- 禁用和启用用于编辑和保存信息的文本框
- Knockout.js只在值改变时启用保存