gpt4 book ai didi

node.js - 即使有更多行,Typeahead 也仅显示 1 行

转载 作者:行者123 更新时间:2023-12-02 21:24:40 24 4
gpt4 key购买 nike

我正在尝试在我的网站应用程序中实现 Typeahead,但到目前为止发现了一些问题。第一件事是关于我从服务器端发送到预输入的记录,即使我收到不止一行,它也只显示一行。

我的环境是:

  • Node.JS;
  • 使用 Jade 模板引擎表达;
  • Bootstrap
  • MongoDB。

在服务器端,我添加 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
})
});

将其作为 JSON 发送以进行预输入:

$('#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);
}
});

我的“标题搜索”代码(Jade):

input#header-search.typeahead(type='text', placeholder='Search...', data-provide='typeahead', data-items='4')

在某处找到“数据项”并添加它,但没有任何改变,而且“数据提供”,甚至在预输入选项中指定了名称字段。我的查询没问题,准确返回现有文档。

非常欢迎任何建议。

最佳答案

我认为你需要这个:

valueKey – The key used to access the value of the datum in the datum object. Defaults to value.

所以试试这个:

$('#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);
}
});

希望对你有帮助!

关于node.js - 即使有更多行,Typeahead 也仅显示 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17457867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com