【发布时间】:2017-07-12 19:17:04
【问题描述】:
您好,我正在尝试对数据库进行搜索,并在用户使用 typeahead 输入时提供自动建议。数据作为用户类型返回,但自动建议未显示在输入字段下。
$(window).load(function(){
// Instantiate the Bloodhound suggestion engine
var employees = new Bloodhound({
datumTokenizer: function (datum) {
return Bloodhound.tokenizers.whitespace(datum.value);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: 'https://www.example.com/prs/emp.php?query=%QUERY',
wildcard: '%QUERY',
filter: function (employees) {
return $.map(employees.results, function (employee) {
return {
label: employee.label,
value: employee.value
};
});
}
}
});
// Initialize the Bloodhound suggestion engine
employees.initialize();
// Instantiate the Typeahead UI
$('.typeahead').typeahead(null, {
displayKey: 'value',
source: employees.ttAdapter(),
templates: {
suggestion: function(data){
return '<p>Name: <strong>' + employee.label + '</strong> | ID: ' + employee.value + '</p>';}
}
});
<input type="text" autocomplete="off" spellcheck="false" class="typeahead employeeName form-control" name="employeeName" style="margin:0px auto;overflow:visible;" id="employeeName" placeholder="Employee Name">
我从 php 文件中得到以下响应
[{"label":"Austin, Pickering","value":"155"}]
我不知道为什么它不会显示数据。我花了几个小时试图弄清楚。对此的任何帮助将不胜感激。
【问题讨论】:
标签: javascript typeahead.js typeahead bloodhound