【发布时间】:2019-11-11 05:18:29
【问题描述】:
经过一番研究,我无法解决我的问题。我正在使用 twitter-typeahead,它没有显示结果,但是当我检查网络中的响应时,它会显示结果。即使查询中有结果,我的预输入也不显示结果的原因可能是什么。
HTML
<input class="form-control typeahead" type="text" name="variant"
placeholder="Search by BRNO,variant ..." />
JavaScript
$(document).ready(function(){
var Variants = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/sales/br-number/search?query=%QUERY%',
wildcard: '%QUERY%',
cache: false,
},
});
$('.typeahead').typeahead(null, {
hint: true,
highlight: true,
source: Variants,
display: function(data) {
return data.br_no+' '+data.variants_name.toUpperCase()+' '+data.case_bottles.quantities;
},
templates: {
empty: [
'<div class="empty-message">',
'No Results',
'</div>'
].join('\n'),
suggestion: function(data) {
return '<p><strong>' + data.br_no + '</strong> '+ data.variants_name +' <strong>' + data.case_bottles.quantities + '</strong> </p>';
}
}
});
});
控制器
public function br_number_search(Request $request)
{
$query = $request['query'];
return $variants = Variant::with('case_bottles', 'product')
->where('br_no', 'LIKE', "%$query%")
->get();
}
回复截图:
有人可以提出解决方案吗?
【问题讨论】:
-
嗯,分配 $query 后转储它会得到什么?
-
实际上,当我查看网络响应时,它的工作原理.. 我的意思是结果即将到来,但由于某种原因,无论发生什么,提前输入都没有显示任何结果
-
你能发布一个你得到的 api 响应吗?
-
我已经上传了回复的截图
-
如果出现 javascript 错误,您是否检查过控制台?
标签: laravel eloquent twitter-typeahead