目的就是点击check来动态设置combox的editable
给combobox设个id可以做到,但我关掉tabpanel再打开combobox就没了。请问用combobox的name和hiddenname能手动设置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.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',
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.   

    或者:怎样销毁一个有id的combobox?谢谢
      

  2.   

    为什么放着id操作不用 非要用name来获得combox呢 ?
    Ext的combox它渲染完后其实就是个input + 图片 你的name最后就是那个input的name
    所以 如果不设id的话 可以用document.getElementsByName("name值").readOnly = true 来使其不让修改 
    也可以用disabled属性 二者都不影响下拉框的选择
    然后其他情况再把这个readOnly状态置为false就可以了 那个hiddenName好像没用了现在
      

  3.   

    笔误了上边 应该是
    document.getElementsByName("name值")[0].readOnly = true
    把这个漏了 吼吼...
      

  4.   

    谢谢了。readonly我试过也达到了目的,但是隐藏窗口再显示后下拉树就显示不出来了。