目的就是点击check来动态设置combox的editable
var chiForm
var chiStudentFormPanel = function() {//非标准panel/**$$$$$ */
chiForm=this;
this.sglrTextField = {//手工录入
 xtype : 'checkbox',
//xtype : 'textfield',
width : Height1,
fieldLabel : "手工录入",
labelAlign :'right' ,
checked :false,
listeners:{
           check:function(checkbo,checked ){
if(checked){
chiForm.getForm().findField('gzmc').getEl().dom.editable = true;
Ext.getCmp('hahe').dom.editable = true;
Ext.get('gzmc').dom.editable = true;
document.getElementsByName('gzmc').editable=true;
//Ext.Msg.alert("信息","true");
}else{
chiForm.getForm().findField('gzmc').getEl().dom.editable = false;
//Ext.Msg.alert("信息","false");
}
}
},
//readOnly : true,
//editable : true,
name : "sglr"
};
var mycombotree;
this.gzmcTextField = {
            xtype: 'combo',
            id:'hahe',
fieldLabel: '故障明细',//'故障名称'
            name: 'gzmct',
     store:  new Ext.data.SimpleStore({fields:[],data:[[]]}), 
           mode:  'local',
resizable:true,
           height:500,
           width : Height1,
autoScroll:false,
triggerAction:'all', 
tpl: '<tpl for="."><div id="treet"></div></tpl>',
displayField: 'key',
valueField: 'value',
listeners:{
             expand:function(combo ){
mycombotree=this;
  tree.render("treet");
  tree.root.expand();
             }
},
editable :true,
emptyText: '请选择...',
hiddenName:'gzmc'
};
}

解决方案 »

  1.   

    check事件里 Ext.getCmp('hahe').editable = true/false不就行了么
      

  2.   

    试了一下3楼正确,老大如果用不用id:hhhh而用name:gzmct或者hiddenname:gzmc怎么写?
    不回答一天内也结贴给分。
    谢谢了
      

  3.   

    Ext.get('gzmct').setEditable(true)这样试试
      

  4.   

    用name操作没试过 不过LZ可以看下源码 setEditable是做了什么 
    用firebug看其combox渲染后的dom源码 用js dom操作下看能不完成
    最好还是用id