如何从 extjs 存储中获取 JSON 数组中的属性值?

Posted

技术标签:

【中文标题】如何从 extjs 存储中获取 JSON 数组中的属性值?【英文标题】:How to get a value of a property in JSON array from extjs store? 【发布时间】:2013-04-25 10:39:29 【问题描述】:

我一直在尝试从 JSON 存储中的 JSON 数组中的值动态生成一个复选框。

"MODULECATOGERY":["Menu":"MSU","Menu":"SCHEDULE","Menu":"MARKET_DASHBOARD","Menu":"FE_REFERENCE","Menu":"QC_TOOLS","Menu":"QUICKQC_VOICE","Menu":"QUICKQC_DATA","Menu":"MARKETQC_VOICE","Menu":"MARKETQC_DATA","Menu":"SURGERY","Menu":"FILE_INVENTORY","Menu":"MARKET_TRACKER","Menu":"DRIVE_ROUTE_TRACKER","Menu":"TICKETS","Menu":"TICKET_TRACKER","Menu":"ASSETS","Menu":"METRICS","Menu":"DAILY_STATUS","Menu":"DAILY_PROCESSING","Menu":"WEEKLY_WORKFLOW","Menu":"CUSTOMER_QUESTIONS","Menu":"KPI_PERFORMANCE_METRICS","Menu":"COLLECTION_METRICS","Menu":"OPERATIONS_DASHBOARD","Menu":"PRODUCTION_DASHBOARD","Menu":"SUPPORT_DASHBOARD","Menu":"REVENUE_TRACKER","Menu":"DEPLOYMENT_TRACKER","Menu":"TICKETS","Menu":"TICKET_TRACKER","Menu":"ASSET_MANAGEMENT","Menu":"GENERATE_SHIPMENT","Menu":"SHIPMENT_TRACKER","Menu":"RESOURCES","Menu":"SCHEDULE","Menu":"TRACKER"]

如何在上述 JSON 中获取与“菜单”关联的值?如果我可以将每个值都放入一个数组中,那么我可以动态分配这些值以生成一个复选框组。

提前致谢。

【问题讨论】:

Hi Store.getRange() 似乎正是您要搜索的内容。它将返回 Ext.data.Record[] - 记录数组。如果未传递任何参数,则返回所有记录。或使用 var store = grid.getStore(); store.each(function(record,idx) //对记录做任何你想做的事情 console.log(record.get('fieldName'); ); 【参考方案1】:

您可以迭代您的商店:

store.each(function(record) 
    var menu = record.get('Menu');
);

编辑: 既然您说这不适用于动态数据,我认为您在完成加载之前对其进行迭代。为了确保在加载后处理迭代,您可以执行以下操作:

store.on(
    //Listener that fires everytime after your store has loaded
    load: function() 
        store.each(function(record) 
             var menu = record.get('Menu');
             //do stuff
        );
    
);
store.load();

如果您只想在第一次加载商店时执行代码,您可以在 load() 方法上使用回调函数:

store.load(function() 
    store.each(function(record) 
        var menu = record.get('Menu');
        //do stuff
    );
);

【讨论】:

上述解决方案仅适用于静态数据,不适用于动态数据。请帮忙... 它确实适用于动态数据。确保在加载后迭代您的商店。我编辑了我的帖子。

以上是关于如何从 extjs 存储中获取 JSON 数组中的属性值?的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS:返回 json 存储中的总行/记录

如何使用java和jsp和extjs将java arraylist转换为json数组存储数据

如何使用 JSON 数据数组加载 extjs 3.4 存储

json 数组未显示在 extjs 网格中

如何将静态 JSON 从 PHP 返回到 extjs 存储

Extjs 4.1 - 如何在存储中嵌入从服务器发送的数据