Ito*_*Ito 1 node.js express bootstrap-typeahead typeahead.js
我正在尝试在我的网站应用程序中实现Typeahead,但到目前为止发现了一些问题.第一件事是关于我从服务器端发送到typeahead的记录,即使我得到多行,它只显示一行.
我的环境是:
在服务器端,我添加了mongo在输出数组上获取的每一行:
docs.forEach(function(e) {
output.push({
_id:e._id,
name:e.name,
date:e.dates[0].date.toString('dd/MM/yyyy'),
type: 'Show',
desc:S(e.description).stripTags().s
})
});
Run Code Online (Sandbox Code Playgroud)
将它作为JSON发送给typeahead:
$('#header-search').typeahead({
remote: '/layoutSearch?value=%QUERY',
template:
'<table style="width: 400px;"><tr><td><strong>{{name}}</strong></td><td style="float: right">{{date}} - <em>{{type}}</em></td></tr></table>' +
'<p style="line-height: 100%; font-size: 11px">{{desc}}</p>'
,
engine: Hogan,
onselect: function(obj) {
console.log('Selected: ' + obj);
}
});
Run Code Online (Sandbox Code Playgroud)
我的"标题搜索"代码(Jade):
input#header-search.typeahead(type='text', placeholder='Search...', data-provide='typeahead', data-items='4')
Run Code Online (Sandbox Code Playgroud)
找到了"数据项"的某个地方并添加了它,但没有改变,还有"数据提供",甚至名称字段在typeahead选项中指定.我的查询没问题,完全返回现有文档.
任何建议都将非常受欢迎.
我想你需要这个:
valueKey – The key used to access the value of the datum in the datum object. Defaults to value.
Run Code Online (Sandbox Code Playgroud)
试试这个:
$('#header-search').typeahead({
remote: '/layoutSearch?value=%QUERY',
valueKey: 'name',
template:
'<table style="width: 400px;"><tr><td><strong>{{name}}</strong></td><td style="float: right">{{date}} - <em>{{type}}</em></td></tr></table>' +
'<p style="line-height: 100%; font-size: 11px">{{desc}}</p>'
,
engine: Hogan,
onselect: function(obj) {
console.log('Selected: ' + obj);
}
});
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
1973 次 |
| 最近记录: |