?最近弄一个EXTJS 项目,刚刚学 遇到不少问题,现将遇到的一个ComboBox 控件隐藏 fieldLabel 不能隐藏问题解决办法整理出来
?1 问题描述
???? ComboBox在FormPanel里面初始化的时候设置隐藏 注意hidden :true 属性,这样ComboBox在FormPanel加载后隐藏了,但是问题是他的fieldLabel 还是显示出来。
?
{ id:'moidfyForm_combo', xtype:'combo', fieldLabel : '协议类型', valueField : "id", hidden :true, displayField : "value", forceSelection : true, allowBlank : false, typeAhead : true, // 自动将第一个搜索到的选项补全输入() mode : 'local', hiddenName : 'updatetypeName2', name : 'updatetypeName2', triggerAction : 'all', store : new Ext.data.SimpleStore( { fields : ['id', 'value'], data : updatetypeName_data }) }
??? 效果图如下:
?这样就不能达到预期隐藏的效果。
2 解决方法
? 1. 在上述代码中在增加一个属性 hideLabel:true , 显示效果(个人觉的这个方法不是很好,后面如果控制在显示,好像没方法显示fieldLabel)
??
?2.在ComboBox 增加监听事件,来修改显示和隐藏fieldLabel以及ComboBox 控件
写了2个按钮测试 代码
handler : function(){ var obj= moidfyForm.findById("moidfyForm_combo"); if(obj){ obj.getEl().up('.x-form-item').setDisplayed(false); } }
?? 实现fieldLabel隐藏,当然如果显示隐藏ComboBox用? hide() 和show()方法实现具体不介绍了
?? 点击显示隐藏按钮显示效果
??
?点击 显示按钮 显示效果
?最后的测试代码,见附件,大家可以下载下来参考一下
?
1 楼
ianl_zt
2011-04-18
正好用到,谢谢。
2 楼
zhicheng19830219
2012-05-17
我弄了,弄不起呀!你那附件里面也找不到呀 能不能给那段代码完整的发给我看看 谢谢,13556833620@163.com