2

タイプアヘッドを実行するための私のjsコードは次のとおりです。

jQuery.noConflict();
jQuery(document).ready(function(){
    jQuery('.search-field.input').typeahead({
        name: 'group-static',
        prefetch: 'http://ws.luyencong.net/data/search/query.php?do=advanced',
        header: '<span class="group-title">General Content</span>',
        template: [
        '<img class="icon" src="{{icon}}" style="width: 38px; height: 38px" />',
        '<div class="icon-desc"><span xmlns="http://www.w3.org/1999/xhtml" class="title">{{name}}</span>',
        '<span xmlns="http://www.w3.org/1999/xhtml" class="desc">{{description}}</span></div>',
        '<span class="clear"></span>'
        ].join(''),
        engine: Hogan
    });
});

Typeahead が実行されます (tt-hint 入力と、サジェスト div のラッパーが表示されるため) しかし、文字を入力すると、サジェストが正しく表示されないという問題があります。

私のJSONは次の場所にあります:http://ws.luyencong.net/data/search/query.php?do=advanced

助けてください。ありがとう。

4

1 に答える 1

1

これは実際には typeahead.js の問題ではありません。luyencong.net問題は、 からへのクロスドメイン リクエストを行っていることですws.luyencong.net。可能であれば、プリフェッチ JSON ファイルをホストしますluyencong.net。これがおそらく最も簡単な解決策です。

jQuery('.search-field.input').typeahead({
  // ...
  prefetch: 'http://luyencong.net/data/search/query.php?do=advanced'
  // ...
});

それができない場合は、他のオプションがいくつかあります。

于 2013-07-19T22:08:18.817 に答える