問題タブ [bloodhound]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
991 参照

javascript - 2 番目の変数を使用して typehead.js で結果をフィルタリングするにはどうすればよいですか?

Typeahead.js を使用して結果をフィルタリングしようとしています。現在、activity_title というフィールドを使用して結果をフィルター処理できます。これはうまくいきます。

2 番目の値で結果をフィルタリングするにはどうすればよいですか? この場合、特定の値の activity_level を持つ結果のみを選択したいと思います。ブラッドハウンドの初期化にハードコーディングするのではなく、タイプアヘッドが初期化されるときにこれを設定する必要があります(たとえば、使用したくないurl: 'api/activity/&range=1,3'

リモートでアクセスする次の有効な JSON があります。

次のように Bloodhound インスタンスをセットアップしました。

Typeahead.js を使用して、入力時にデータを検索します。

これは、Stackoverflow などのいくつかの回答からまとめられています。どんな助けでも大歓迎です。

0 投票する
2 に答える
6619 参照

sorting - 正確な入力を先頭にして先行入力候補を並べ替えます

Twitter typeahead.js 0.10.5 を提案エンジンとして使用しています。それはうまく機能しますが、1 つの例外を除いて、提案のリストを思いどおりに並べ替えることができません。

例として:

「必要」と入力すると、配列内の位置順に並べられた提案が得られますが、入力順に並べたいと思います。つまり、順序は「必要」、「必要」、「必要なすべて」である必要があります... 「he」と入力すると、「he needs」、「all he needs」、「all I need」などになります。

Bloodhound にソーター オプションがあることは知っていますが、この特定の状況でそれを使用する方法がわかりません。

0 投票する
1 に答える
341 参照

angularjs - カスタム テンプレート内の Typeahead - Bloodhound 提案オブジェクト プロパティにアクセスする方法

Typeahead-Bloodhound バンドルを使用して、カスタム提案テンプレートを作成しました。テンプレートが変数をコンパイルするために呼び出しているオブジェクトを把握しようとしています。{{}} テンプレートの代わりにアンダースコアを使用しています。

_.compile( '<p><strong><%=PN%></strong> <span class="tt-suggestion-etc"> <%=A2 %>| LAT: <%=Y%> LON: <%=X%></span></p>' )

これが標準の Typehead ブラケットの場合:

compile( '<p><strong>{{PN}}</strong> <span class="tt-suggestion-etc"> {{A2}}| LAT: {{Y}} LON: {{X}}</span></p>' )

次のように、アンダースコアの JavaScript を介して実際のオブジェクト プロパティにアクセスできるようにしたいと考えています。

_.compile( '<p><strong><%=PN%></strong> <span class="tt-suggestion-etc"> <% if(someObj.someProp !== undefined ){ // do something }else{ //do something else } %>| LAT: <%=Y%> LON: <%=X%></span></p>')

0 投票する
2 に答える
1194 参照

javascript - 結果を一致させるだけでなく、すべての結果を表示する typehead.js

入力したクエリに一致する結果のみを返すように typeahead.js を取得するのに問題があります。たとえば、会社の検索バーに「Facebook」と入力すると、すべての会社 (「Yahoo」、「Google」など) が返されますが、これらのほとんどはクエリに一致しません。サーバー側のデータ処理は行っていません。私の datumTokenizer 関数はこのフィルタリングを処理する必要がありますか?

また、クエリを変更するたびに、データごとに filter() 関数が入力されることに気付きました。したがって、クエリを「G」から「Go」に変更すると、filter: function (company_list) の console.log() ステートメントが 3000 回出力されます。

これが私のコードです:

そして、私のURLが返すものの例:

プリフェッチがまったく機能しないため、リモートを使用しています。[object Object] という提案だけが表示されますが、これは意味がありません。prefetch/remote を使用して、初期化時に .json ファイル全体をロードし、サーバーにそれ以上の要求を行わないようにしたいと考えています。したがって、プリフェッチは私にとってより良いオプションだと思います(小さなファイル、77kB)が、まったく機能していません。

助けてくれてありがとう!

0 投票する
2 に答える
481 参照

javascript - Microsoft OData API で Twitter の typeahead.js を使用するにはどうすればよいですか?

CRM アプリケーションから JSON データを取得するための Web アプリケーションを作成しているときに、問題が発生しました。

私がやりたいことは、Twitter の typeahead.jsプラグインを使用して、CRM アプリケーションから顧客情報をリモートでフェッチすることです。Microsoft は、JSON データを使用して通信する方法を提供しています。彼らはそれを OData と呼んでいます。ただし、これは通常の JSON 応答とは異なります。これが、先行入力プラグインのセットアップに問題がある理由です。

API URL に GET リクエストを送信すると、次のレスポンスが返されます。

ここで質問があります: Twitter の typehead プラグインをこのデータ構造で動作するように設定するにはどうすればよいですか?

Name提案を表示するときに、JSON 応答からの値が必要です。AccountIdそして、提案が選択されたときに関連する値を取得したいと考えています。

これまでのコードで得たものは次のとおりです。

HTML:

JavaScript: (js/global.js)

ただし、コードが機能しません。入力フィールドの下に「未定義」というテキストが表示されるだけです。私datumTokenizerまたはdisplayKey参照が間違っている疑いがあります。を完全には理解していませんdatumTokinizer。だから誰かがそれについて私を啓発することができれば、私は感謝します:)

0 投票する
2 に答える
1354 参照

javascript - 「リモート」が使用されている場合、Typeahead と Bloodhound は無関係な提案を表示します

リモート オプションで Typeahead/Bloodhound を使用する場合、ローカル/プリフェッチの結果が「制限」(5) を下回ると、表示される提案は入力に関連しません。結果セットの上から5つまで表示されているようです。

写真: 「愛」は予想される結果であり、他のすべては無関係です:

私のコード:

0 投票する
2 に答える
1164 参照

javascript - Typeahead/Bloodhound ですべての一致結果を表示できない

会社の検索に Typeahead/Bloodhoud を使用していますが、オートコンプリート セクションに十分な一致が表示されません。

- - - - - 探す - - - - -

ここに画像の説明を入力

制限が 5 であるため、少なくとも 5 つの結果が表示されるはずです。

---------- Ajax レスポンス ----------

ここに画像の説明を入力

Typeahead JS

すべての結果が期待どおりに表示されるようにするにはどうすればよいですか? ドキュメント/ソース コードを調べて、見落としたはずのオプションを探していて、思いつくのに苦労していました。