うまくいけば、これは誰かが理解するための迅速かつ簡単なものです. 私は多くのjavascript/jqueryを使用するのにかなり慣れていません。データベースから顧客名を引き出して、ユーザーが顧客IDの入力を終了したときに表示するように次のように設定しています。
すべてうまく機能しますが、各keyupで検索します。ぼかしに変更できることはわかっていますが、遅れて、進行中に検索したいと思います。
現在のコードは次のとおりです。
function postData(){
var id = $('#id').val();
$.post('inc/repairs/events-backend.php',{id:id},
function(data){
$("#display_customer").html(data);
});
return false;
}
$(function() {
$("#id").bind('keyup',function() {postData()});
});
ご覧のとおり、各キーアップにバインドされています。つまり、検索が速すぎると、まだ読み込まれているため、間違った結果が返される可能性があります。(つまり、一致するものが見つからない場合、エラーが表示され、十分に速く入力すると、ユーザーはバックスペースして最後の数字を再入力する必要があります)
誰かが既存のコードに遅延を追加するのを手伝ってくれませんか? 可能であれば、あなたが行った変更について簡単な説明をしてください.
- - 編集 - -
これは私が完成したコードです、ありがとう!
function postData(){
var id = $('#id').val();
$.post('inc/repairs/events-backend.php',{id:id},
function(data){
$("#display_customer").html(data);
});
return false;
}
$(function() {
var timer;
$("#id").bind('keyup input',function() {
timer && clearTimeout(timer);
timer = setTimeout(postData, 300);
});
});