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 回答