我在解决这个问题时遇到了一些问题。
服务器使用正确的json请求进行响应,但是typeahead仅显示返回结果的第一个字母。例如,如果我输入k,它将显示:
ķ
ķ
ķ
k
你能帮我弄明白为什么吗?
这是我的js
$('.user').typeahead({
source : function(typeahead, query) {
return $.post('getUser', {
query : query
}, function(data) {
return typeahead.process(data);
});
}
});
和我的HTML
<input autocomplete="off" type="text" size="16" id="appendedInputButton" class="user" data-provide="typeahead">
我使用以下代码
https://gist.github.com/1866577
谢谢。
答案 0 :(得分:4)
如果服务器使用属性为“contact”的对象数组进行响应,请尝试以下操作:
$('.user').typeahead({
source : function(typeahead, query) {
return $.post('getUser', {
query : query
}, function(data) {
return typeahead.process(JSON.parse(data));
});
},
property : 'contact'
});
答案 1 :(得分:0)
我自己今天遇到同样的问题,发现我需要确定并做到
data-source="['THING1','THINGS2']"
首先双引号,然后单引号。我最初有这个逆转,只收到1个字母。另外,请确保数组末尾没有尾随的,,因为这样也只会出现一个字母。
答案 2 :(得分:-2)
删除class =“user”。它将开始展示整个事物。