3

typeahead.js がアイテムの照合方法に関して jqueryui autocomplete のように動作することを望みます。jqueryui autocomplete を使用すると、テキスト項目内を検索できます。typeahead では、文字列の先頭からのみです。

オートコンプリートの例: http://goo.gl/O43afF

タイプアヘッドの例: http://twitter.github.io/typeahead.js/examples/

オートコンプリートで、比較機能を割り当てることは可能のようですが、タイプアヘッドではそのようなものは見つかりませんでした。

「Equestrian (Horses)」という項目を含むリストがある場合、「o」と書き始めたら一致したいと思います。

4

2 に答える 2

2

あなたが正しく言うように、Typeahead.jsコードはプレフィックスの一致を探します。ただし、「トリック」があります。すべてのデータムには要素も含まれる場合がありますtokens。これは、Typeahead のドキュメントにあるように、「typeahead.js が特定のクエリとデータムを照合するのを支援する文字列のコレクション」です。

プレフィックス マッチングは に対して行われtokensます。いずれかのデータムに値を指定しない場合tokens、その値はトークン化 (スペース区切り) されます。ただし、必要なものを入手するために供給tokensすることはできます。たとえば、あなたの場合tokens、クエリ文字列内のすべての単語のすべての一意の部分文字列である値を指定します。

「長さ>= 2のすべての一意の部分文字列」をお勧めします。

于 2013-08-05T04:37:58.483 に答える
0

typeahead のデータソースは、'source' パラメータを介して設定されます。したがって、そこに配列の代わりに別のメソッドを配置してもまったく問題ありません。また、内部的に文字列の配列を想定しているため、すべてを文字列にフォーマットする必要があることに注意してください。

例として、このフィドルを見てください

編集: この例では常にテスト 0 からテスト 9 までの値が生成されるため、もちろん「テスト」の一部を入力することによってのみ確認できます。

于 2013-08-04T21:29:34.437 に答える