7

typeaheadには typeahead.jsを使用しています。

私は基本的にこれの逆を行いたい:プログラムで typeahead.js の結果表示をトリガーする

先行入力でを実行しようとしましたが、 を実行し.trigger('blur');てその直前に値を設定しました.typeahead('setQuery', value);。「setQuery」を実行すると、新しいクエリ用語で結果を取得する ajax リクエストが開始されます。そのため、「ぼかし」が発生しますが、その後すぐに箱が開かれます。

4

6 に答える 6

16

バージョン 0.11 の時点で、これを行う適切な方法は次のとおりです。

$('.typeahead').typeahead('close');

マニュアル: https://github.com/twitter/typeahead.js/blob/master/doc/jquery_typeahead.md#jquerytypeaheadclose

于 2015-05-18T22:22:14.870 に答える
0

誰かが将来これに遭遇した場合に備えて、今これを行う最善の方法は次のとおりです。

$('.tt-dropdown-menu').css('display', 'none')

Chrome 開発者ツールを開いて、入力したり消去したりすると何が起こるかを観察すると、Typehead が行っているのはこれだけであり、魔法のようなものではありません。

また、現在のバージョン (10.5) でクエリを設定しようとすると、次のようなエラーが発生します。

Uncaught TypeError: Cannot assign to read only property 'highlight' of
于 2015-04-02T22:45:08.337 に答える
0

私の特定のケースでは、先行入力 API ( ) からの専用の close メソッドが機能typeahead.js@0.11.1しませんでした。たぶん、カスタム CSS またはコードのバグが原因です。

display プロパティを none に設定してメニューを非表示にするという他の回答で説明されている方法は機能しましたdisplay:block が、後で使用するためにメニューを元に戻す必要がありました。さらに、APIを使用していません。

私にとって別のより良い方法は、ドロップダウンが非表示になるように入力の値をクリアすることでした:

$('.typeahead').typeahead('val', '');

また

$('#place_typeahead_control').typeahead('val', '');ページに複数の検索コントロールがあり、特定の検索コントロールをターゲットにしたい場合。

于 2019-01-09T23:27:40.927 に答える