Bootstrap Typeahead只显示第一个字母

Bootstrap Typeahead only showing first letter

本文关键字:第一个 显示 Typeahead Bootstrap      更新时间:2023-09-26

我遇到了一个小问题。

服务器以正确的json请求进行响应,但是typeahead只显示我返回结果的第一个字母。例如,如果我键入k,它将显示:
k
k
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

谢谢。

如果服务器使用属性为"contact"的对象数组进行响应,请尝试以下操作:

$('.user').typeahead({
  source : function(typeahead, query) {
      return $.post('getUser', {
          query : query
      }, function(data) {
          return typeahead.process(JSON.parse(data));
      });
  },
  property : 'contact'
});

我自己今天也遇到了同样的问题,发现我需要确定并进行

data-source="['THING1','THINGS2']"

请先使用双引号,然后在内使用<strong]单引号。我一开始把它颠倒了,只收到了一封信。此外,请确保在数组末尾没有尾随的>,因为这也会导致只出现一个字母。

删除class="user"。它将开始展示整件事。