日期:2014-05-16  浏览次数:20308 次

ExtJs中TextField完全隐藏及显示方法

ExtJs中TextField完全隐藏及显示方法?

如果需要将TextField设置成隐藏的,可能大家首先想到的就是将hidden属性设置为ture,大家最后我们看到的效果却是field部分隐藏到了,但是label部分却没有被隐藏,所有我们怎么设置完全隐藏了?

在网上看到很多人的方法是设置hideLabel属性为ture,如下:
{
xtype: 'textfield',
fieldLabel : '是否隐藏:',
name: 'FID',
id: 'FID',
hidden: true,
hideLabel:true
}

没错这个方法可以实现我们隐藏的功能,但是我们又需要动态的来改变显示和隐藏时怎么办了?看如下代码:
var f = $("INFO_BOOL").getValue() == '1'; // 用来判断是否隐藏
$("FID").hideLabel = f; // 设置label是否隐藏
$("FID").setVisible(f); // 设置field是否隐藏

通常一般认为上面的代码是正确的,但是实际中第2行却是没有效果的,我们最终只是看到field可以显示和隐藏。那么我们有什么方法来实现了?
var f = $("INFO_BOOL").getValue() == '1'; // 用来判断是否隐藏
$("INFO_SERVER_ID").el.dom.parentNode.parentNode.firstChild.innerHTML = f ? '是否隐藏:' : ''; // 设置label是否隐藏
$("FID").setVisible(f); // 设置field是否隐藏

通过上面的代码我们就可以看到label有显示和隐藏的效果,不过我们用的是另外一种方法:那就是将label的值设置成有或无状态。



YY程序员网原创文章,转载请注明来源并保留原文链接
本文链接:http://www.yyjjssnn.cn/articles/507.html