2011-12-25 26 views
5

,并通过所有的其他例子搜查,似乎仍不能推测出来,试图用jQuery用户界面自动完成,第一次试图把这一切都在一起。这里是我的JS:jQuery的自动完成远程数据源JSON不回来我一直在这永远的工作数据

$(document).ready(function() { 
$("#search-title").autocomplete({ 
    source: function (request, response) { 
     $.ajax({ 
      url: "/include/autocomplete", 
      dataType: "json", 
      data: { 
         term: request.term  
        }, 
      success: function (data) { 
       response($.map(data.stuff, function (item) { 
        return { 
         label: item.name, 
         value: item.name 
        }; 
       })); 
      } 
     }); 
    }, 
    minLength: 2, 
    focus: function (event, ui) { 
     $(event.target).val(ui.item.label); 
     return false; 
    }, 
    select: function (event, ui) { 
     $(event.target).val(ui.item.label); 
     window.location = ui.item.value; 
     return false; 
    } 
}); 
}); 

签出在Firebug的反应,我想我在这里得到正确格式的JSON:

{"stuff":[ {"label" : "Dragon", "value" : "http://site.com/animal/firebreathers"}] } 

但由于某些原因,它不挂钩。在我打开minLength后,一个小的空盒子将在搜索栏下面打开,但是没有任何东西在那里。

UPDATE:当我添加 “警报(项目);”在响应号召,我得到的说,一个窗口“的site.com的网页显示:目标对象” - 这会是问题?

+0

是不是项的对象?你有没有尝试访问项目中的参数,如item.value? – 2011-12-25 21:59:23

+0

谢谢!感谢你,我终于有了答案。 – 2011-12-26 06:00:06

回答

2

我终于找到它了,感谢在我的疑问,暗示评论。

在回报,这是我从jQuery UI的网站复制,我有:

label: item.name, 
value: item.name 

改变,为:

label: item.label, 
value: item.value 

解决了我与jQuery斗争。我不知道这是否是好的做法,但它终于有效!

0

尝试在数据类型使用JSONP而不是JSON的。

相关问题