Pet*_*cco 4 javascript jquery jquery-ui jquery-ui-autocomplete
我在jQuery UI 1.8rc3中有新的自动完成小部件在Firefox中运行良好.它在IE中根本不起作用.有人可以帮我吗?
HTML:
<input type="text" id="ctrSearch" size="30">
<input type="hidden" id="ctrId">
Run Code Online (Sandbox Code Playgroud)
使用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;
}
});
Run Code Online (Sandbox Code Playgroud)
结果(IE 8):
红色框是<ul>
jQuery创建的元素.
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行得到了错误.请参阅下面的jitter答案.请参阅几天前发布的其他Stack Overflow问题.
更新2: 我发现jQuery UI自动完成使用无效属性this.element.height
,应该使用该函数this.element.height()
如果我理解这一点,你所引用的行似乎是函数中jquery.1.4.2.js中的第4618行style
.这只能意味着Autocompleter插件尝试设置IE8不理解的样式值,或者不允许以这种方式访问/更改.
style[ name ] = value; //style == elem.style from the passed in element
Run Code Online (Sandbox Code Playgroud)