【问题标题】:How to get a value of a property in JSON array from extjs store?如何从 extjs 存储中获取 JSON 数组中的属性值?
【发布时间】: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'); });

标签: json extjs store


【解决方案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
    });
});

【讨论】:

  • 上述解决方案仅适用于静态数据,不适用于动态数据。请帮忙...
  • 它确实适用于动态数据。确保在加载后迭代您的商店。我编辑了我的帖子。
猜你喜欢
  • 2014-07-21
  • 2018-05-03
  • 2011-02-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-15
  • 1970-01-01
  • 2017-02-13
  • 2018-03-16
相关资源
最近更新 更多