我試圖啓用基於各種UI元素的更改事件的保存按鈕。需要啓用 爲多個事件啓用保存按鈕 - 輸入更改和列表框大小更改
保存按鈕,如果以下任一情況 1)輸入數據的變化 2),或者如果用戶列表的大小變化的城市。
如何跟蹤列表大小更改事件? 和 如何在淘汰賽中啓用兩個事件的保存按鈕?
我試圖啓用基於各種UI元素的更改事件的保存按鈕。需要啓用 爲多個事件啓用保存按鈕 - 輸入更改和列表框大小更改
保存按鈕,如果以下任一情況 1)輸入數據的變化 2),或者如果用戶列表的大小變化的城市。
如何跟蹤列表大小更改事件? 和 如何在淘汰賽中啓用兩個事件的保存按鈕?
你應該使用一個計算
this.canSave = ko.computed(function() {
return this.observableOne() === "foo" && this.observableTwo() === "bar";
}, this);
編輯:或者使用骯髒的邏輯就像 http://www.knockmeout.net/2011/05/creating-smart-dirty-flag-in-knockoutjs.html
嘗試使用訂閱事件。有一個可觀察的說prevlength並設置它在這裏的長度。
this.myObservable.subscribe(function(previousValue){
//get previousval length and set it to another observable say prevlength
}, this, "beforeChange");
並再次使用訂閱沒有beforechange,並檢查prevlength與當前長度。 使用observable say shouldEnable並將長度與prevlength進行比較。如果更改的長度更新應爲true或設置爲false。
以及基於條件禁用的概念,你可以檢查Enable condition for click binding
感謝您的直接。我在這個 [小提琴](http://jsfiddle.net/noppanit/b3ky5/103)上找到了類似的解決方案, – 2014-08-29 14:18:47