首页 > 代码库 > ExtJs ComboBox 在IE 下 自动完成功能无效的解决方案

ExtJs ComboBox 在IE 下 自动完成功能无效的解决方案

 使用 ComboBox 来作为自动完成的组件,就像google suggestion ,可是在IE下怎么也无法输入字符,是处于不可编辑状态,而firefox和chrome都正常显示。我在2个ExtJs QQ群中问这个问题,都没有解决,不知道是不会还是不想回答。我在这里分享出来解决办法。
这个问题困扰了我不少时间,在网上总也搜索不到答案。最后终于通过google找到了解决办法。

 

方法1:将如下代码添加到你的 Ext.onReady的方法中即可!

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. Ext.form.TriggerField.override({  
  2.     afterRender : function(){  
  3.         Ext.form.TriggerField.superclass.afterRender.call(this);  
  4.         var y;  
  5.         if(Ext.isIE && !this.hideTrigger && this.el.getY() != (y = this.trigger.getY())){  
  6.             this.el.position();  
  7.             this.el.setY(y);  
  8.         }  
  9.     }  
  10. });  


方法2:
将ComboBox的hideTrigger属性设置为false

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. hideTrigger:false  


首先我搜索到了这个博客
http://vegdave.wordpress.com/2009/01/06/autocomplete-fix-for-ext-combobox-on-ie/#comment-14168
然后此博客给出了解决办法的链接地址
http://www.extjs.com/forum/showthread.php?p=204817