Typeahead 不显示带有远程数据的结果
Typeahead not displaying results with remote data
Typeahead 未显示建议。这是一个非常简单的城市查询。数据库 return 没问题。控制台正在记录我的输入。只是无法显示 return 数据。
remote data
{"recID":"3699","Name":"Dupage","City":"West Chicago","Country":"United States"}
html
<input class="typeahead" type="text" placeholder="Enter City" size="32">
script
<script type="text/javascript">
var cities = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('City'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'getAirports.php',
remote: {
url: 'getAirports.php?query=%QUERY',
wildcard: '%QUERY'
}
});
$('.typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
}, {
name: 'City',
display: 'City',
source: cities,
templates: {
suggestion: function (data) {
return data.City;
}
}
});
</script>
远程数据格式不正确。它不是有效的 JSON 对象。它也不是有效的 JavaScript 数组。您也许能够让它工作,但它需要您解析返回的数据以创建对象或数组。
如果您的数据作为对象返回:{recID:"3699", Name:"Dupage", City:"West Chicago", Country:"United States"}
,那么它应该可以工作。现在您正试图引用一个不存在的对象 data.City
。
Typeahead 未显示建议。这是一个非常简单的城市查询。数据库 return 没问题。控制台正在记录我的输入。只是无法显示 return 数据。
remote data
{"recID":"3699","Name":"Dupage","City":"West Chicago","Country":"United States"}
html
<input class="typeahead" type="text" placeholder="Enter City" size="32">
script
<script type="text/javascript">
var cities = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('City'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'getAirports.php',
remote: {
url: 'getAirports.php?query=%QUERY',
wildcard: '%QUERY'
}
});
$('.typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
}, {
name: 'City',
display: 'City',
source: cities,
templates: {
suggestion: function (data) {
return data.City;
}
}
});
</script>
远程数据格式不正确。它不是有效的 JSON 对象。它也不是有效的 JavaScript 数组。您也许能够让它工作,但它需要您解析返回的数据以创建对象或数组。
如果您的数据作为对象返回:{recID:"3699", Name:"Dupage", City:"West Chicago", Country:"United States"}
,那么它应该可以工作。现在您正试图引用一个不存在的对象 data.City
。