0

次のビジネス要件があります。

ユーザーが現在の年齢と定年を入力する必要がある2つのテキストボックスがあります。退職年齢は現在の年齢よりも大きい必要があるため、ユーザーが現在の年齢よりも短い退職年齢を入力した場合は、退職年齢を現在の年齢に更新する必要があります。ユーザーが現在の年齢を入力した場合は、現在の年齢よりも大きくなります。年齢の場合、定年は現在の年齢に設定する必要があります。

ノックアウトjsを使用してこれを行う簡単な方法はありますか?ある種のバッキングストアを備えた両方のフィールドの計算されたオブザーバブルが必要になると思いますか?

これが私の出発点です:http://jsfiddle.net/RVNHy/

js:

var viewModel = function() {
    this.currentAge= ko.observable(32);
    this.retirementAge = ko.observable(44);  
};

ko.applyBindings(new viewModel ());

html:

<div class='liveExample'>   
    <p>Current Age: <input data-bind='value: currentAge' /></p> 
    <p>Retirement Age: <input data-bind='value: retirementAge' /></p> 
</div>
4

1 に答える 1

1

ええ、それはあなたが望むものです:

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
    });
}

同じことを行って、退職年齢の計算されたオブザーバブルを作成します。

于 2013-03-13T09:59:27.153 に答える