首先,我的情况很特殊
设置文本框隐藏或显示:
Ext.getCmp(\"id\").hide()/show()
Ext.getCmp(\"id\").setvisible(false/true)
这样隐藏后文本框是没有了,可是标签label还在,远远达不到想要的结果
然后设置hideLabel=true,依然没反应
百度了很多方法,没有一个好用的,有一个Ext.get('Email').up('.x-form-item').setDisplayed(false);依然不行
好像是3.x没有up方法,具体原因我没看,我用的EXTJS是3.2.1版本
后来我跟了一下代码,发现页面的label根本不是fieldLabel中的值,尽管值是一样的,但是在每一个属性js中有一个div ,代码如下
items:[
{
html:'<div id="yhzh_id" style="width:120px; text-align:right">银行帐号:  </div>'
},
{ xtype: 'textfield',
fieldLabel: '银行帐号',
id: 'YHZH',
name: 'YHZH',
hidden:true,
hideLabel:true,
原来是html中的名字,难怪设置了 hidden:true,
hideLabel:true,
后依然能显示
既然知道是html中的了,就获取一下dom对象,ext用的不熟练,我直接用document.getElementById(\"yhzh_id\").innerHTML=''
把值赋个空,就权当隐藏了吧,
label隐藏当真不好处理,等有空在看吧
附录几个事件:
Ext.get("id").on('click', function(e) {})点击事件
Ext.EventManager.on('id','keyup', function(e) {})键盘事件
Ext.ComponentMgr.get('Eq_Combo').on('select', function(e) {})下拉单选事件