1

我试图使用自动完成获取从JSON格式的rottentomatoes电影建议。 但下面的代码不显示任何建议。jQuery autocomplete与烂番茄api

<script> 
var apikey = "5xq9w7z2mp7a6cnchkfy52yd"; 
var baseUrl = "http://api.rottentomatoes.com/api/public/v1.0"; 

var moviesSearchUrl = baseUrl + '/movies.json?apikey=' + apikey; 
var query = "Rocky"; 

$(document).ready(function() { 
$("#sample").autocomplete({ 
source: function(request, response) { 
     $.ajax({ 
      url: moviesSearchUrl + '&q=' + encodeURI(query), 
      dataType: "jsonp", 
      success: function(data) { 
        var movies = data.movies; 
        response(function(movies) { 
           return { 
             label: movies.title, 
             value: movies.title 
             } 
        }));   
        } 
     }); 
     } 
}); 
}); 
</script> 

对于完整的页面源:https://gist.github.com/2018447 我还需要包括在建议名单的动画缩略图。任何人都可以帮助我吗?

+0

什么是你的错误控制台说? – Phil 2012-03-11 23:11:35

+0

b [0]未定义 file://home/aaa/jqueryexample/js/jquery-ui-1.8.18.custom.min.js – rnk 2012-03-11 23:23:38

+0

我已更新我的答案以包含海报缩略图。这应该可以解决你的问题 – Phil 2012-03-11 23:38:51

回答

4

您有一个语法错误(额外的)),并且错过了调用以迭代movies数组(通常使用$.map())。

这是它应该是什么样子(更新:包括海报缩略图

$("#sample").autocomplete({ 
    source: function(request, response) { 
     $.ajax("http://api.rottentomatoes.com/api/public/v1.0/movies.json", { 
      data: { 
       apikey: apikey, 
       q: request.term 
      }, 
      dataType: "jsonp", 
      success: function(data) { 
       response($.map(data.movies, function(movie) { 
        return { 
         label: movie.title, 
         value: movie.title, 
         thumb: movie.posters.thumbnail 
        } 
       }));   
      } 
     }); 
    } 
}).data("autocomplete")._renderItem = function(ul, item) { 
    var img = $("<img>").attr("src", item.thumb); 
    var link = $("<a>").text(item.label).prepend(img); 
    return $("<li>") 
     .data("item.autocomplete", item) 
     .append(link) 
     .appendTo(ul); 
}; 
​ 

在这里工作的例子 - http://jsfiddle.net/df7tp/6/

+0

耶!它正在工作。非常感谢:)顺便说一句..我可以使用**。data(“autocomplete”)._ renderItem **在建议中包含缩略图吗?为此,我是否需要在响应部分添加图像键? – rnk 2012-03-11 23:44:21

+0

@rnk你有没有看到我的更新? – Phil 2012-03-11 23:45:21

+0

谢谢@Phil它看起来很可爱! – rnk 2012-03-11 23:50:00