远程版本 Twitter Typeahead.js 无法正常工作。我的建议得到“未定义”。任何帮助,将不胜感激。
代码如下:
JS:
var films = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: '../widgets/films.json'
});
films.initialize();
$('#films .typeahead').typeahead(null, {
name: 'films',
displayKey: 'value',
source: films.ttAdapter()
});
Bloodhound 建议引擎无法在 JSON 数组中找到显示键“值”。
您需要将 JSON 数组转换为 JavaScript 对象数组。 JavaScript 对象有一个名为“value”的变量,其值是电影标题;显示键使用的就是这个“值”变量,例如
remote: {
url: '../widgets/films.json',
filter: function (films) {
// $.map converts the JSON array into a JavaScript array
return $.map(films.results, function (film) {
return {
// NB : replace original_title below with your JSON film key
value: film.original_title
};
});
}
}
如果您包含 movie.json 输出的示例,则可以改进上面的示例(因为我将能够使用您需要的确切值)。
See this回答一个扩展的例子和jsfiddle。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)