2014-10-01 54 views
0

進行基本的Web應用程序。計算總自動從數量和價格

我有3文本框:

1.價格, 2.量, 3.總。

我想計算當用戶添加數量在價格&數據時自動計算總量。

HTML代碼:

price:<input type="text" data-bind="value : itemPrice"><br/> 
qty:<input type="text" data-bind="value : itemQTY"><br/> 
total:<input type="text" data-bind="value : itemTotal"> 

敲除js代碼:

ViewModel = function() { 
     var self = this;   
     self.itemPrice = ko.observable(); 
     self.itemQTY = ko.observable(); 
     self.itemTotal = ko.observable(); 
}; 

建議是不勝感激。

回答

0

使用ko.computed

self.itemTotal = ko.computed(function(){ 
    if(isNaN(self.itemPrice()) == true && isNaN(self.itemQTY()) == true || isNaN(self.itemQTY()) == true || isNaN(self.itemPrice()) == true){ 
     return '0.00'; 
    }else{ 
     return self.itemPrice()*self.itemQTY(); 
    } 
}); 

上述條件將檢查,如果用戶已經進入text data,如果用戶輸入文本數據,然後它會自動設置爲0.00否則計算total上的input基地然後顯示在總textbox

&使總文本框readonly所以用戶不能編輯它。 像:

<input type="text" data-bind="value : itemTotal" readonly> 
0

使用ko.computed

self.itemTotal = ko.computed(function() { 
    return self.itemPrice()*self.itemQTY(); 
}); 
+0

謝謝你的工作,user3145373ツ有有很好的答案與驗證及使總的只讀文本框。 – user10012014 2014-10-01 09:37:59