Ext中同时隐藏field和label的方法 | DOJO中国
前几天搞了很久,查了很久的API也没搞定(因为API里面没有这种函数),反而是今天上它
的官网去查别的资料的时候看到了一个网友也提出了同样的问题,所以就拿来用了,在此鸣谢那
位老兄:
Javascript代码
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);
}
}
}
});
转自:http://scnujie.javaeye.com/blog/210215