0

Bootstrap バージョン 3.0 にアップグレードしましたが、先行入力モジュールが存在しないことがわかりました。私は Web サービスを使用しており、次のメソッドを使用して関数を呼び出し、データセットにデータを入力しました。しかし、Twitter の typeahead.js では、関数をどのように呼び出すか、または古い typeahead モジュールを引き続き使用するにはどうすればよいでしょうか? あなたの助けに感謝します。ありがとう。

            $("#searchVendor").typeahead({
            source: function (query) {
                    vieModel.callWebServiceFunctionList(counter1, query, isListCleared);   
       });
4

1 に答える 1

0

Typeahead.js には、関数を として直接使用する方法がありませんsource。クエリ値を渡す標準的な方法は%QUERYremoteプロパティに含まれる URL 文字列を使用することです。

$("#searchVendor").typeahead({
            remote: '.../data.json?name=%QUERY'   
});

ただし、これはおそらくあなたの場合には十分ではありません。URL に適用されるおよび関数をremote持つオブジェクトにすることもできます。urlreplace

callWebServiceFunctionListしたがって、実際に Web サービスを呼び出すのではなく、単に URL を返すような関数を作成します。

$("#searchVendor").typeahead({
            remote: {
               url: '.../data.json?counter=%COUNTER&query=%QUERY&isListCleared=%ISLISTCLEARED',
               replace: function(url, query) {
                  return url.replace('%COUNTER', counter1).replace('%QUERY', query).replace('%ISLISTCLEARED', isListCleared);
               }
});

remoteオブジェクトのドキュメントを参照してください。

別の方法として、Bootstrap 2.x の先行入力部分だけの JS を入手することもできます。フォーマットの問題が発生する可能性がありますが、それ自体は問題なく動作するようです(JSFiddle デモ)。

于 2013-10-31T03:58:38.890 に答える