ExtJs设置文本框隐藏时label不隐藏的解决办法

来源:互联网 发布:三合一cms 编辑:程序博客网 时间:2024/05/16 08:48

首先,我的情况很特殊

 

设置文本框隐藏或显示:

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">银行帐号:&nbsp;&nbsp</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) {})下拉单选事件

 

 

 

 

0 0