2010-03-16 65 views
4

我已经在jQuery UI 1.8rc3中使用了新的自动完成小部件,在Firefox中工作得很好。它在IE中完全不起作用。有人可以帮我吗?jQuery UI自动完成不在IE中工作

HTML:

<input type="text" id="ctrSearch" size="30"> 
<input type="hidden" id="ctrId"> 

使用Javascript:

$("#ctrSearch").autocomplete({ 
    source: "ctrSearch.do", 
    minLength: 3, 
    focus: function(event, ui){ 
     $('#ctrSearch').val(ui.item.ctrLastName + ", " + ui.item.ctrFirstName); 
     return false; 
    }, 
    select: function(event, ui){ 
     $('#ctrId').val(ui.item.ctrId); 
     return false; 
    } 
}); 

结果(即8):

红色框是由jQuery的创建的<ul>元件。

http://i40.tinypic.com/6q9quu.jpg

我也收到此错误:

Line: 116 
Error: Invalid argument.

当我在IE8脚本调试程序打开它,它强调f[b]=d上jquery.min.js的116线。请注意,我使用的是托管在Google服务器上的jQuery版本1.4.2(https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js)。

我尝试删除一些选项,但即使当我打电话.autocomplete()没有选项,或只有源选项,我仍然会得到相同的结果。

再一次,它在Firefox中工作,但不在IE中。有什么建议么?

谢谢。

更新:正如所建议的,我用jquery.js(而不是jquery.min.js)并得到了4618行的错误。请参阅下面的抖动答案。请参阅几天前发布的this other Stack Overflow question

更新2:我发现,jQuery用户界面自动完成使用无效的财产this.element.height,当它应该使用功能this.element.height()

+3

彼得。不要使用缩小版本的jQuery进行调试。如果您换用jQuery.js,可能会有比“jquery.min.js的第116行中的f [b] = d”更多的信息。 – spender 2010-03-16 16:09:47

+1

斯庞德是正确的。在开发替换缩小版本与完全成熟的jQuery http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js以获得更好的调试信息时 – jitter 2010-03-16 16:21:00

+0

如果我找到时间,我可能会考虑这明天。目前没有IE8可用 – jitter 2010-03-16 18:07:54

回答

5

如果我没有理解这一权利的行,你指的似乎是行4618中jquery.1.4.2.jsstyle函数中。这只能意味着Autocompleter插件尝试设置IE8不理解或不允许以这种方式访问​​/更改的样式值。

style[ name ] = value; //style == elem.style from the passed in element 
+1

我发现jQuery UI自动完成使用一个无效属性this.element.height,当它应该使用函数this.element.height() – 2010-03-17 14:21:35

+1

好吧,你已经知道了这一点。您是否对jQuery UI问题跟踪器提出了错误报告? – jitter 2010-03-18 08:46:27

1

我在完全相同的行上有完全相同的错误,但对于完全不同的处理。也就是说,我没有做任何与自动完成有关的事情;相反,我的出现是因为我想这个jQuery中......

$(this).css('background', 'rgba(64,255,64,.4)'); 

哪些jQuery的试图做...

style [ 'background' ] = 'rgba(64,255,64,.4)'; 

它失败了,当然,因为RGBA是不支持Internet Explorer的CSS值。所以你不是一个人,但在我的情况下,我只是做错了。适当的jQuery语法是...

$(this).css({backgroundColor: '#40ff40', opacity: .4}); 

这里是我的源...

http://www.cjs.me.uk/blog/?p=238

+0

我收到了第4618行的错误...其中“值”为空。这发生在.effect('highlight',{},1000) – 2010-08-01 21:42:56