4

これを機能させるのに少し問題があります。

サーバーは正しい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

ありがとうございました。

4

3 に答える 3

4

サーバーが属性「contact」を持つオブジェクトの配列で応答している場合は、次のことを試してください。

$('.user').typeahead({
  source : function(typeahead, query) {
      return $.post('getUser', {
          query : query
      }, function(data) {
          return typeahead.process(JSON.parse(data));
      });
  },
  property : 'contact'
});
于 2012-07-09T19:38:31.807 に答える
0

今日も同じ問題を抱えていましたが、確実にやる必要があることに気づきました。

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

最初に二重引用符を使用し、次に内部を一重引用符で囲みます。私は最初にこれを逆にして、1文字しか受け取っていませんでした。また、配列の最後に末尾がないことを確認してください。これにより、1文字だけが表示されます

于 2013-02-08T23:26:06.973 に答える
-2

class="user"を削除します。全体が表示され始めます。

于 2013-01-31T08:34:44.947 に答える