ExtJS 4 MVC符合json的动态可点击内容

ExtJS 4 MVC符合json的动态可点击内容,extjs,extjs4,accordion,extjs4.1,dataview,Extjs,Extjs4,Accordion,Extjs4.1,Dataview,我需要在手风琴上插入/添加子面板。每个子面板的标题应使用数据中的“字段”值(见下文),并且每个子面板的内容应为(标签或显示字段或??),只要可单击即可。来自服务器的json数据如下所示: data: [{ 'field': 'cities', 'values': [{ 'value': 'DC', 'count': 5 }, { 'value': 'SF', 'count': 2 }, {

我需要在手风琴上插入/添加子面板。每个子面板的标题应使用数据中的“字段”值(见下文),并且每个子面板的内容应为(标签或显示字段或??),只要可单击即可。来自服务器的json数据如下所示:

data: [{
    'field': 'cities',
    'values': [{
        'value': 'DC',
        'count': 5
    }, {
        'value': 'SF',
        'count': 2
    }, {
        'value': 'NYC',
        'count': 4
    }, {
        'value': 'Nashville',
        'count': 4
    }]
}, {
    'field': 'beaches',
    'values': [{
        'value': 'obx',
        'count': 1
    }, {
        'value': 'ocean city',
        'count': 2
    }, {
        'value': 'myrtle',
        'count': 4
    }]
}, {
    'field': 'planets',
    'values': [{
        'value': 'mercury',
        'count': 1
    }, {
        'value': 'venus',
        'count': 2
    }, {
        'value': 'earth',
        'count': 4
    }, {
        'value': 'mars',
        'count': 1
    }, {
        'value': 'jupiter',
        'count': 2
    }, {
        'value': 'uranus',
        'count': 4
    }, {
        'value': 'neptune',
        'count': 1
    }]
}]
渲染作品!!:)

但是我没有办法得到一个有效的点击事件。最终,单击侦听器需要允许我访问选定的值+字段值。(例如,“行星”、“木星”)

这应该很容易,但我无法让它工作。起初,我尝试嵌套for循环并动态创建组件,但无法添加一个工作的click处理程序(可能是b/c我在一个store load处理程序函数中完成这项工作?)。我还尝试了面板中的dataview(只传入数组),但itemSelector没有触发。我根据代码尝试了'div.facet'、'div.facet_item'、(以及其他一些项目),但没有成功-可能是b/c,我不知道如何在控制器的this.control()中选择它们:

'panel[itemId=pnlFacets] > panel > dataview': {
    itemclick: me.facetSelect
}
以及dataview尝试的tpl:

var tplFacet = new Ext.XTemplate(
    '<tpl for=".">',
        '<div class="facet">',
            //ignore - (this is handled in title of panel) '<label class="facet_field">{facetName}</label>',   
            '<tpl for="facetEntries">',
                '<div class="facet_item">{value}&nbsp;&nbsp;({count})</div>',
            '</tpl>',
        '</div>',
    '</tpl>'
);
var tplFacet=new Ext.XTemplate(
'',
'',
//忽略-(这在面板标题“{facetName}”中处理,
'',
“{value}({count})”,
'',
'',
''
);