1

Json データ ストアをループして、すべての値を収集する必要があります。最後に、アラート ウィンドウにすべての価格の合計金額が表示されます。Json データ ストーをループする方法がわかりません。これを行うためのより迅速または簡単な方法があるかどうかに興味があります。私の考えは:

var myStore = new Ext.data.Store({
    id: 'ID_Store',
    proxy: new Ext.data.HttpProxy({
        url: 'get.php',
        method: 'POST'
    }),
    baseParams: {
        task: "LIST"
    },
    reader: new Ext.data.JsonReader({
        root: 'results',
        totalProperty: 'total',
        id: 'id'
    }, [{
        name: 'IDbook',
        type: 'int',
        mapping: 'id_book'
    }, {
        name: 'price',
        type: 'int',
        mapping: 'price'
    }])
});

var sum = 0;

myStore.load();
myStore.on('load', function () {
    for (var i = 0; i < myStore.getTotalCount(); i++) {
        sum = sum + myStore.price[i];
    }
});

alert("total sum is:", sum);

JSON は次のとおりです。

{success:true}{total:5,results:[{"id_book":"1","price":"10},{"id_book":"2","price":"15"},{"id_book":"3","price":"5"},{"id_book":"4","price":"7"},{"id_book":"5","price":"30"}]}
4

2 に答える 2

7

これよりはるかに簡単になることはありません:

var total = 0;
myStore.each(function(r) {
   total += r.get('price');
})
于 2012-05-09T21:24:39.523 に答える
1

json の最初のタグの価格に間違いがあると思いますが、"price":"10代わりに

于 2012-09-27T22:43:46.523 に答える