私は FILTER#1 と呼ぶ jQuery ajax でブートストラップ typeahead を使用しています。私の場合、「great tank」や「greattank」などの ajax 検索はどちらも「Great Tank」の ajax 結果を生成しますが、タイプアヘッドは 2 番目に結果を推測し、2 番目の結果を二重にフィルタリングします (FILTER#2 と呼びます)。スペース。また、返された ajax の結果が、入力されたものとはまったく異なる可能性もあります。提供された結果が有効であり、小文字のテキストが正確に一致するかどうかに関係なく表示されることを信頼するには、先行入力が必要です。
私は次の動作をしたいと思います:
- 結果に一致する単語がある場合は、それを強調表示します
- 一致しない単語が表示される場合は、強調表示を解除しますが、フィルターで除外するのではなく、結果リストに残します。
(1) OOTB で動作しますが、(2) は私が探している不足している機能です。(1) と (2) が持てない場合は、(1) を削除しても問題ありません。
ここにフィドルの例があります: http://jsfiddle.net/PE9mN/
$("#title2").typeahead({
source: function( request, response ) {
var mockResults2 = ["Great Tank War",
"Great Train Robbery",
"other random result my server produced"];
response(mockResults2);
// I expect this to display both items regardless of $("#title2").val()
// In my case, the server was smart enough to realize that
// "greattank" may match "great tank"
// and it even added a 3rd value that I want to display.
}
});
ありがとう。