Javascript jquery ui自动完成-不在IE中工作

Javascript jquery ui自动完成-不在IE中工作,javascript,jquery,internet-explorer,autocomplete,Javascript,Jquery,Internet Explorer,Autocomplete,这段代码可以在firefox中使用,但不能在IE中使用。有什么想法吗?我正在使用最新的jQueryUI库 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>jQuery UI Autocomplete Remote datasource demo</title> <link type="text/css" href="jqu

这段代码可以在firefox中使用,但不能在IE中使用。有什么想法吗?我正在使用最新的jQueryUI库

<!DOCTYPE html>
 <html lang="en">
<head>
<meta charset="UTF-8" />
<title>jQuery UI Autocomplete Remote datasource demo</title>
<link type="text/css" href="jquery.ui.all.css" rel="stylesheet" />
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="jquery.ui.core.js"></script>
<script type="text/javascript" src="jquery.ui.widget.js"></script>
<script type="text/javascript" src="jquery.ui.position.js"></script>
<script type="text/javascript" src="jquery.ui.autocomplete.js"></script>
<link type="text/css" href="demos.css" rel="stylesheet" />
<style type="text/css">
.ui-autocomplete-loading { background: white url('images/ui-anim_basic_16x16.gif')       right center no-repeat; }
 .ui-autocomplete {
  overflow-y: auto;
  max-width: 400px;
 }
 /* IE 6 doesn't support max-width
  * we use width instead, but this forces the menu to always be this wide
  */
 * html .ui-autocomplete {
  width: 400px;
}
</style>
<script type="text/javascript">

$(function() {
 function log(message) {
  $("<div/>").text(message).prependTo("#log");
  $("#log").attr("scrollTop", 0);
 }

 $.ajax({
  url: "links2.xml",
  dataType: "xml",
  success: function(xmlResponse) {
   var data = $("ROW", xmlResponse).map(function() {
    return {
      value: $("SC_DF_FIELD_1", this).text(),
      url: $("SC_DF_FIELD_2", this).text(),
      support_url: $("SC_DF_FIELD_3", this).text(),
      description: $("SC_DF_FIELD_4", this).text(),
      contact: $("SC_DF_PERSON_LINK", this).text()

    };
   }).get();

   $("#_results").autocomplete({
    source: data,
    minLength: 0

   }).data( "autocomplete" )._renderItem = function( ul, item ) {
   return $( "<li></li>" )
   .data( "item.autocomplete", item )
   .append( "<a>" + item.value + "<br>" + item.url + "<br>" + item.description + "<br>" + "Support URL: " + item.support_url + "<br>" + "Contact: " + "<a href=" + item.contact + ">Test</a>" + "<br />" + "</a>" )
   .appendTo( ul );
 }

  }
 })

});
</script>

jQuery UI自动完成远程数据源演示
.ui自动完成加载{背景:白色url('images/ui-anim_basic_16x16.gif')右中心无重复;}
.ui自动完成{
溢出y:自动;
最大宽度:400px;
}
/*IE 6不支持最大宽度
*我们使用宽度代替,但这迫使菜单总是这么宽
*/
*ui自动完成{
宽度:400px;
}
$(函数(){
功能日志(消息){
$(“”).text(message).prependTo(“#log”);
$(“#log”).attr(“scrollTop”,0);
}
$.ajax({
url:“links2.xml”,
数据类型:“xml”,
成功:函数(xmlResponse){
var data=$(“行”,xmlResponse).map(函数(){
返回{
值:$(“SC_DF_字段_1”,this).text(),
url:$(“SC_DF_FIELD_2”,this).text(),
support_url:$(“SC_DF_FIELD_3”,this).text(),
说明:$(“SC_DF_字段_4”,this).text(),
联系人:$(“SC_DF_PERSON_LINK”,this).text()
};
}).get();
$(“##_结果”)。自动完成({
资料来源:数据,
最小长度:0
}).数据(“自动完成”)。\u renderItem=功能(ul,项目){
返回$(“
  • ”) .data(“item.autocomplete”,item) .append(“+”
    “+”) .附录(ul); } } }) });

    搜索:

    该代码在IE中适用于我。我看到的唯一区别是我使用的是googleapis版本的jquery和jqueryui:

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.js"></script>
    
    
    
    唯一可能的区别是标记,因为您没有发布自己的标记。我只是有这样一个输入:

    <input type="text" id="_results" />
    
    
    
    将一个
    嵌套在另一个
    中对我来说似乎有点可疑,这是一种可能会让IE抓狂的事情。我尝试了你的建议,删除嵌套,但没有修复IE。谢谢。在chrome中,我看到我得到了“访问控制不允许原点为空允许原点”错误将我的源代码更改为googleapi不会在IE或chrome中修复它。我仍然在chrome中遇到同样的错误。我也在使用同样的输入,这很奇怪。这个错误听起来像是跨域ajax错误。但我不知道如果这就是问题所在,为什么它会在FF中起作用。links2.xml文件是否与执行ajax的页面位于同一域中?我在本地计算机上执行所有这些操作,所有文件都位于同一目录中。我基于与jQueryUI捆绑在一起的xml示例。有趣的是,他们的示例也有同样的错误,并且只在FF中工作。看起来本地运行这个是问题所在。谢谢你的提示,费海斯