今、私は次のようなJSON文書を持っているとのJavascript&jQueryのでJSONドキュメントの配列を通って行く:誰かが20株を望んでいる場合がKnockoutJS
[
{
"price":"1.0",
"shares":13
},
{
"price":"2.0",
"shares":5
},
{
"price":"3.0",
"shares":24
}
]
することは、私は20株式の低価格を可能に返すようにしたいです。この場合、そのの:$ 1($ 13)で
13株
5株$ 2($ 10)とで
2株
総コストは$ 3($ 6)で$ 29
これを行う特定のノックアウトコードは、以前に定義された(そして動作している)this.wantedShares()バインディングから20のシェアを取得します。
コード:
this.totalCost = ko.computed(function(){
var wantedShares = this.wantedShares();
var shareCounter = 0.00;
var counter = 0;
var totalPrice = 0.00;
$.getJSON("sell.json", function(json){
$.each(json, function() {
if(shareCounter <= wantedShares){
shareCounter = shareCounter + json[counter].shares;
totalPrice = totalPrice + (json[counter].price * json[counter].shares);
counter++;
}
});
});
return totalPrice;
}, this);
このコードは、そのまったくtotalPriceを更新していない、何が起こっているものは何でも、動作しません - それは0で任意のアイデアのまま?
残りのビューモデルを見てみましょう。 – Tuan
Elliot、JSFiddleと一緒に適切なコードを示す回答を投稿しました。それはあなたのために働いたのですか? –