欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ext中同时隐藏field和label的方法

程序员文章站 2022-07-13 22:57:50
...
前几天搞了很久,查了很久的API也没搞定(因为API里面没有这种函数),反而是今天上它

的官网去查别的资料的时候看到了一个网友也提出了同样的问题,所以就拿来用了,在此鸣谢那

位老兄:

   
function hideField(field)
{
field.disable();// for validation
field.hide();
field.getEl().up('.x-form-item').setDisplayed(false); // hide label
}

function showField(field)
{
field.enable();
field.show();
field.getEl().up('.x-form-item').setDisplayed(true);// show label
}
this.userTypeField=new Ext.ux.EnumField({
hiddenName:'userinfo.userType',
fieldLabel:'用户类型',
tableName:'userinfo',
fieldName:'userType',
allowBlank : false,
listeners:{
select:function(){
var value = this.getValue();
//Ext.log(value);
if(value == '2')
{
//formPanel.stationidField.setVisible(false); //这种方法只能隐藏field而不能隐藏field //formPanel.hospitalidField.setVisible(true); 对应的label,用下面的方法则可以一起隐藏.

hideField(formPanel.stationidField);
showField(formPanel.hospitalidField);
}
if(value == '3')
{
//formPanel.hospitalidField.setVisible(false);
//formPanel.stationidField.setVisible(true);
hideField(formPanel.hospitalidField);
showField(formPanel.stationidField);
}
if(value == '1' || value == '4')
{
//formPanel.hospitalidField.setVisible(true);
//formPanel.stationidField.setVisible(true);
showField(formPanel.hospitalidField);
showField(formPanel.stationidField);
}
}
}
});