ユーザーが検索フィールドに入力すると、検索結果のリストを表示する単純なデータベース検索スクリプトがあります。スクリプトは、ユーザーが 2 番目の文字を入力した後にのみ機能することを除けば、正常に機能します。ユーザーが検索クエリに最初の文字を入力したときに動作を開始したい。たとえば、「人形」を検索している場合、ユーザーが文字「d」を検索フィールドに入力すると、検索結果が表示されます。現在、これはユーザーが「do」を入力した後にのみ発生し始めます。何か提案があれば教えてください。
jQuery:
<script type="text/javascript">
$(function(){
var index = -1;
$(document).on('keyup','#searchField',function(e){
if (e.keyCode == 38){ // up arrow
index = (index == 0) ? 0 : index - 1;
$('tr.search_row').removeClass('highlight_color');
$('tr.search_row:eq(' + index + ')').addClass('highlight_color');
return false;
}
else if (e.keyCode == 40){ // down arrow
index = (index + 1 >= $('tr.search_row').length) ? $('tr.search_row').length - 1 : index + 1;
$('tr.search_row').removeClass('highlight_color');
$('tr.search_row:eq(' + index + ')').addClass('highlight_color');
return false;
}
else
{
var str = $('#searchField').val();
searchScript(str);
}
index = -1;
});
});
</script>