私はphpとjqueryを使って検索ボックスを実装しようとしています(検索結果はデータベースから来ています)。私がしたいのは、ユーザーが検索ボックスに入力すると、ユーザーが検索ボックスに入力したキーワードを含むデータを検索するためのクエリが作成されるということです。これを実行すると、問題はもちろん、ユーザーが入力して行われるたびに(、何の原因と呼ばれている)(関数retrieve_results、ということであるphp/jquery検索ボックス
:私がいる問題は、私はこのような何かを持っているということですキーアップがあります)。したがって、ユーザーが10文字のような単語を入力すると、retrieve_results()関数が10回連続して呼び出されるため、これは非常に遅くなる可能性があります。また、私はretrieve_results()関数の中で、結果を得るためにjQuery $ .ajaxを使ってAjaxリクエストを行っています。だから私の質問は、次のとおりです:
私はそれを行うようにするには、retrieve_results()は、ユーザーが入力を停止するたびに実行されないように(キーがアップ)。しかし、私はその機能を維持したい、私はユーザーが "検索"ボタンまたは何かをクリックしないようにしたい。私はちょうど私のretrieve_results()関数ユーザーがすべてのキーワードを入力することで行われたときに一度だけ呼び出さする(毎回ユーザーが手紙か何かに入っていない)
あなたはtimmerを開始することができ、あなたに
ありがとう、あなたは男ですが、質問、毎回タイマーをクリアする必要があるのはなぜですか? – user765368
@ user765368既存のタイムアウト機能が実行されている場合にのみタイムアウトをクリアします。このタイムアウトをクリアしなかった場合は、キーを押すたびに検索が実行され、1000ミリ秒だけ遅延します。試してみてください... jsfiddleで 'if(timeout)...'コードを削除してスクリプトを実行してください。 1秒後にすべてのキーを押すと検索機能がどのように起動するのか気づくでしょう。 –