目的就是点击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'
};
}
给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'
};
}
Ext的combox它渲染完后其实就是个input + 图片 你的name最后就是那个input的name
所以 如果不设id的话 可以用document.getElementsByName("name值").readOnly = true 来使其不让修改
也可以用disabled属性 二者都不影响下拉框的选择
然后其他情况再把这个readOnly状态置为false就可以了 那个hiddenName好像没用了现在
document.getElementsByName("name值")[0].readOnly = true
把这个漏了 吼吼...