首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >knockout js确保一个值大于另一个

knockout js确保一个值大于另一个
EN

Stack Overflow用户
提问于 2013-03-13 17:48:12
回答 1查看 114关注 0票数 0

我有以下业务需求:

有两个文本框,用户需要在其中输入他们的当前年龄和退休年龄。退休年龄需要大于当前年龄,因此如果用户输入的退休年龄小于当前年龄,则应将退休年龄更新为当前年龄,如果用户输入的当前年龄大于退休年龄,则必须将退休年龄设置为当前年龄。

有没有一种简单的方法可以使用knockout js来做到这一点?我假设我需要两个字段的计算观察值和某种后备存储区?

这是我的起点:http://jsfiddle.net/RVNHy/

js:

代码语言:javascript
复制
var viewModel = function() {
    this.currentAge= ko.observable(32);
    this.retirementAge = ko.observable(44);  
};

ko.applyBindings(new viewModel ());

html:

代码语言:javascript
复制
<div class='liveExample'>   
    <p>Current Age: <input data-bind='value: currentAge' /></p> 
    <p>Retirement Age: <input data-bind='value: retirementAge' /></p> 
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-13 17:59:27

是的,这就是你想要的:

代码语言:javascript
复制
function MyViewModel() {
    var self = this;
    var age= ko.observable(32);
    var retAge = ko.observable(44); 

    self.currentAge = ko.computed({
        read: function () {
            return age();
        },
        write: function (value) {
            retAge(Math.max(value, retAge));
            age(value);
        },
        owner: this
    });
}

并执行相同的操作来创建退休年龄的计算可观测值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15381777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档