我正在尝试将typeahead用于我的电子邮件字段,因此当管理员搜索电子邮件地址时,会向他们显示选项。很基本的。我的源是从php BE加载的,它从mysql收集数据。
所以我有一个输入标签:
<input type="text" name="userEmail" id="email" value="" class="form-control" />
在我的文档就绪功能中,我有:
$('#email').typeahead({
ajax: {
triggerLength: 3,
url: '/user/findBootstrap'
},
display: 'email'
});
当我输入:&#34; gbo&#34;我的php BE返回一个类似于此的json:
[{"id":"94","email":"gboitr@server.com"},{"id":"142","email":"gbotyp@stingray-music.com"},{"id":"193","email":"gboychuk@server.com"}]
我确认我在控制台上通过lookintg接收数据。 Typeahead只是不会显示任何选项,我输入的是什么。 lib正在加载正常(状态200),我没有得到JS错误
答案 0 :(得分:2)
我发现了问题。我今天就下载了这个,看看发布日期。与documentation page上指定的内容相反,更改您要查找的参数名称的参数不是&#34;显示&#34;但是&#34; displayField&#34;。
他们可能与他们的文档不同步......
希望这篇文章能帮助别人不要浪费时间......
所以这是我应该使用的正确语法:
$('#email').typeahead({
ajax: {
triggerLength: 3,
url: '/user/findBootstrap'
},
displayField: 'email' // NOT "display"!!!!!
});