在Ext.form.ComboBox里设置id属性后用Ext.getCmp('id')可以获取该控件,还有其他方式吗?因为我不想设置ID,这个ComboBox我是做成一个配置项,需要重复打开配置的,如果设置了ID,第二次打开后该ComboBox就不显示了,去掉ID就没事,但是就不能获取这个组件了,请教有经验的高手解答下,谢谢啊。
new Ext.form.ComboBox({
//id:'sex',
fieldLabel: '性别',
name: 'sex',
allowBlank: true,
mode : 'local',
store: new Ext.data.SimpleStore({
fields:['text','value'],
data: [['男','1'],['女','0']]
}),
width:200,
editable:false,
displayField: 'text',
valueField: 'value',
triggerAction: 'all'
})
Ext.getCmp('sex').disable();//使控件失效

解决方案 »

  1.   

    配置ref行不行? { ref:"../sex", ... }oForm.sex.disable();
      

  2.   

    通过这个combobox的parent组件来访问,你看看这样的方法行不
      

  3.   

    能说具体点吗?没用过这个,这个用ref好像要先配置另一个属性什么的吧,我直接配ref后页面有错误.
      

  4.   

    combo 有没有放在form中
    如果有的话就用form.form.findField("sex")//sex 是name属性
    如果没有的话就赋给一个变量了
      

  5.   

    定义combo的时候加个配置项hiddenName(combo的值是放在这里滴),然后可以new个对象,如var com = new Ext.form.combo({});
    使用com.getValue()取值,有木有!!
      

  6.   

    如果是弹出窗口的话,我一般都在窗体里定义  
    var my = this;
    my.Combox = new Ext.form.ComboBox({
    });
    然后打开窗口事件:
     var NewWindow=new Ext.app.NewWindow();
     NewWindow.Combox.setValue('11');