Bootstrap Typeahead仅显示第一个字母

时间:2012-07-09 19:34:55

标签: javascript jquery twitter-bootstrap

我在解决这个问题时遇到了一些问题。

服务器使用正确的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

谢谢。

3 个答案:

答案 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”。它将开始展示整个事物。