0

Bootstrap 3 Typeahead プラグイン(基本的に、Bootstrap 3 で削除される前の古い Bootstrap の Typeahead 機能からのポート) をBootstrap-Tagsinput プラグインと統合しようとしています。

JSONプリフェッチタイプアヘッド機能を含め、これらを個別に機能させるのに問題はありません。2つを統合する方法がわかりません。それほど難しくはないと思いますが、Javascript の知識が不足しているようです。

ここに私の入力フィールドがあります:

<input type="text" id="tagFilter" data-provide="typeahead" data-role="tagsinput">

Javascript で typeahead プラグインを呼び出す方法は次のとおりです。

//The typeahead
$.get('tags.php', function(data){
    $("#tagFilter").typeahead({ source:data });
    },'json');

役立つ場合は、Tagsinput のドキュメントに、twitter typeahead.js の実装方法を説明する例があります。

$('input').tagsinput();

// Adding custom typeahead support using http://twitter.github.io/typeahead.js
$('input').tagsinput('input').typeahead({
  prefetch: 'citynames.json'
}).bind('typeahead:selected', $.proxy(function (obj, datum) {  
  this.tagsinput('add', datum.value);
  this.tagsinput('input').typeahead('setQuery', '');
}, $('input')));

しかし、私は別のプラグインを使用しています。私はそれが私の頭の上にあることに気づきました。

再度、感謝します。

4

1 に答える 1

2

わかりました...それで、実際にTwitterのtypeahead.jsを使用することにしました. 私は次のコードを使用しました。それが最善の方法ではない場合は、誰かが指摘してください。

<input type="text" id="tagFilter" data-provide="typeahead" value="test,arlington">

$('#tagFilter').tagsinput({
    typeahead: {
       source: $.get('tags.php')
    }
    });

私の tags.php ファイルは単なるリストです。これを JSON ファイル内のキーを持つ連想配列で機能させるには、さらに多くの作業が必要になると思います。私の場合、クエリ目的のタグ名のみに関心があるため、これには利点がないと判断しました。

したがって、私の tags.php は次の結果をエコーするだけです:

//the mySQLi query is above...
while ($row = mysqli_fetch_assoc($result)) {
        $tags[] = $row['tag_name'];

    }
echo json_encode($tags);

誰かが恩恵を受けることを願っています。

于 2014-04-04T03:40:56.720 に答える