【发布时间】:2015-09-29 12:00:38
【问题描述】:
我有一个很大的问题。我想在 node.js 中使用 Twitter Typeahead 自动完成功能。
用户选择姓名并从数据库中获取有关他的所有数据(姓名、地址、邮件)。
我试图传递对象(数据),但我得到“未定义”(屏幕 1)。如果我通过 (data.name) 没关系,但我无法访问其他值(地址、邮件..)
请给我一个提示如何连接它,或者如何传递对象并在预先输入的输入中获取名称?
<script type="text/javascript">
$(document).ready(function(){
$('input.typeahead').typeahead({
name: 'name',
remote:{
url: "https://testtest.com/customers/wybierz/search?key=%QUERY",
},
limit: 100
}).on('typeahead:selected', function (event, selection) {
$('.profile_add_new').show();
$('#profil0').text(selection.name);
$('#profil1').text(selection.address);
$('#profil2').text(selection.email);
});
});
</script>
node.js
app.get('/customers/wybierz/search', isLoggedIn, function(req, res) {
req.getConnection(function (err, connection) {
connection.query('SELECT * FROM pacjenci WHERE name LIKE "%'+req.query.key+'%"', function(err, rows, fields) {
if (err)
console.log("Error inserting : %s ",err );
for(i=0;i<rows.length;i++)
{
data.push(rows[i]);
}
res.end(JSON.stringify(data));
});
});
});
【问题讨论】:
-
你用的是哪个版本?
-
@Amit typeahead.js 0.9.3
-
那已经超过 2 年了,如果我没记错的话,API 已经发生了巨大的变化(例如,Bloodhound 的使用)。我建议你先更新你的库,迁移你的代码,然后再问你是否还有问题。
-
@Amit 但版本没有问题,我想弄清楚如何将对象传递给 typeahead
-
很难帮助处理过时的代码。文档不存在,复制更难,相关信息更新......
标签: javascript node.js typeahead.js typeahead twitter-typeahead