我有一个Combox,怎么通过JS设置它的选中项?例如:我的Combox的store存储下列内容:[[1,'北京'],[2,'上海'],[3,'天津']],我想用combobox的某个方法选中第三个:天津. select() setValue()好像都不行。

解决方案 »

  1.   

    这个意思么new Ext.form.ComboBox({   
                    emptyText: '请选择厂商类型',   
                    allowBlank: false,   
                    fieldLabel: '厂商类型',   
                    hiddenName: 'type',   
                    displayField: 'name',   
                    valueField: 'val',   
                    typeAhead: true,   
                    triggerAction: 'all',   
                    mode: 'local',   
                    store: car.data.prttype,   
                    listClass: 'x-combo-list-small',   
                    listeners: {   
                        'beforeselect': function(box, record, index){   
                            Ext.getCmp('prt').store.clearFilter();   
                            Ext.getCmp('prt').clearValue();   
                            Ext.getCmp('prt').store.filter('type', record.get('value'));   
                        }   
      

  2.   

    谢谢ClsData的回复,可能是我没有描述清楚我的问题。
    我有两个按钮:btn1,btn2和一个combobox:comb1,内容为:[[1,'北京'],[2,'上海'],[3,'天津']].我想点击btn1时,(也就是在btn1的click()事件中)设置comb1选中“天津”。我试过comb1.select()和comb1.setValue()都有问题。
      

  3.   

    我没有用过combox
    不过我想原理都一样
    可以把new Ext.form.ComboBox定义成全局的
    比如
    var a = new Ext.form.ComboBox{
    然后触发的时候a.emptyText = "new test";这样
      

  4.   

    在new Ext.form.Combobox({
    })
    中加入 value:'3'
      

  5.   

    http://topic.csdn.net/u/20090415/11/2E772C5C-540B-49BF-8844-863D8DECE024.html 可以去看看 
      

  6.   

    //下面是数据,用后台生成的JS数据   
    Ext.namespace('car','car.data');   
    //车商类型   
    car.data.prttype=[[false,'国内'],[true,'国外']];   
    car.data.prttype_store=new Ext.data.SimpleStore({
    fields:['val','name'],
    data:car.data.prttype
    })  

    //车商   
    car.data.prt= [[1,'Benz',true],[2,'奥迪',false],[3,'BMW',false],[4,'马自达',false],[5,'丰田 ',true],[6,'本田',true],[7,'三菱',true],[8,'通用',true],[9,'陆虎',true],[10,'陆虎 ',true],[11,'lotus',true]];   
    car.data.prt_store=new Ext.data.SimpleStore({   
     fields:['id','name','type'],   
     data:car.data.prt   
     });   
    //车系   
    car.data.classes=[[1,'Fz',1],[2,'ABC',2],[3,'CC',9],[4,'dadas',3],[5,'561',8],[6,'A8',2],[7,'A6',2]];   
    car.data.class_store=new Ext.data.SimpleStore({   
     fields:['id','name','prt_id'],   
     data:car.data.classes   
     });
     //产地
     car.data.address=[[1,'11'],[2,'22'],[3,'33']]
     car.data.address_store=new Ext.data.SimpleStore({
     fields:['','']
     })
     var storeList=new Ext.FormPanel({   
            bodyStyle: 'padding-top:6px',   
        defaultType: 'textfield',   
        labelAlign: 'right',   
        labelWidth: 80,   
        labelPad: 0,   
        frame: true,   
        defaults: {   
            width: 150  
        },   
        items: [{   
            fieldLabel: '车型名称',   
            name: 'name',   
            allowBlank: false,   
            blankText: '请填写品牌名称'  
        }, new Ext.form.ComboBox({
         id:'topPrt',
            emptyText: '请选择厂商类型',   
            allowBlank: false,   
            fieldLabel: '厂商类型',   
            hiddenName: 'type',   
            displayField: 'name',   
            valueField: 'val',   
            typeAhead: true,   
            triggerAction: 'all',   
            mode: 'local',   
            store: car.data.prttype_store,   
            listClass: 'x-combo-list-small',   
            listeners: {   
                'beforeselect': function(box, record, index){  
                    Ext.getCmp('prt').store.clearFilter();   
                    Ext.getCmp('prt').clearValue();
                    Ext.getCmp('prt').store.filter('type', record.get('val'));   
                }   
            }   
        }), new Ext.form.ComboBox({   
            id: 'prt',   
            emptyText: '请选择厂商名称',   
            allowBlank: false,   
            fieldLabel: '生产厂商',   
            hiddenName: 'prt_id',   
            displayField: 'name',   
            valueField: 'id',   
            typeAhead: true,   
            triggerAction: 'all',   
            store: car.data.prt_store,   
            mode: 'local',   
            listClass: 'x-combo-list-small'  
            })]   
        });
        Ext.getCmp('prt').setValue(5); //选中的值
        Ext.getCmp('topPrt').setValue(false);//选中的值
      storeList.render('g');//显示在那个容器里
    })