2010年06月30日   ExtJs, 头条   13,345 次浏览
如果需要将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的值设置成有或无状态。
>>> Hello World <<<
这篇内容是否帮助到你了呢?
如果你有任何疑问或有建议留给其他朋友,都可以给我留言。
目前有有一条留言:
发挥发挥