EXT 中级联的小问题

{
                   xtype:"combo",
                   mode:'local',
                   valueField:'xiaoqu',
                   displayField:'xiao',
                   width: 100,
                   triggerAction:'all',
                   emptyText: '请选择',
                   store:this.store1,
                   listeners:
                    {
                        'select' : function(cb)
                        {
                            var selectedId = cb.getValue();
                            this.store2.loadData(data2[selectedId-1]);
                        }
                    }
                },
{
                   xtype:"combo",
                   mode:'local',
                   valueField:'value',
                   displayField:'text',
                   width: 100,
                   emptyText: '请选择',
                   triggerAction:'all',
                   store:this.store2
                },
getStore1: function() {
            var store1 = new Ext.data.SimpleStore({
            data:this.data1,
            fields:['xiaoqu','xiao']
            });
            return store1;
        },
        getStore2: function() {
            var store2 = new Ext.data.SimpleStore({
            data:this.data2,
            fields:['value','text']
            });
            return store2;
        },
getData1:function(){
        var data1=
            [
                ['1','育新小区'],
                ['2','东村家园'],
                ['3','富力桃园']
            ]; 
        return data1;
        },
        getData2:function(){
        var data2= new Array();     
             data2[0] = 
                 [
                     ['11','表1'],
                     ['12','表2']
                 ];     
             data2[1] = 
                 [
                     ['21','表3'],
                     ['22','表4']
                 ];
             data2[2] = 
                 [
                     ['31','表5'],
                     ['32','表6']
                 ]; 
        return data2;
        },
怎么第二个下拉列表没反映啊?

 

[quote]listeners:

{

'select' : function(cb)

{

var selectedId = cb.getValue();

this.store2.loadData(data2[selectedId-1]);

}

}
[/quote]
改成:[code="java"]listeners:

{

'select' : function(cb)

{

var selectedId = cb.getValue();

this.store2.loadData(data2[selectedId-1]);

},
scope:this

}
[/code] 试试看看

没有传值给第二个下拉列表,

或者传值有错误,导致后台有请求,但返回数据是null。建议alert一下

'select' : function(cb)

{

var selectedId = cb.getValue();

[color=red]this.store2[/color].loadData(data2[selectedId-1]);

}

应该是这个地方的问题,你这个this指的范围是comboBox

[quote]listeners:

{

'select' : function(cb)

{

var selectedId = cb.getValue();

this.store2.loadData(data2[selectedId-1]);

}

} [/quote]
这段代码改成
[code="js"]
var combo2=Ex.getCmp('第二个combo的ID');
combo2.getStore().loadData(data2[selectedId-1]);
[/code]
否则第二个下拉列表框不会自动刷新到新的store值