jQueryについては、私は初心者ですが、私はそれを理解するために最善を尽くしています。以下は私があなたのフィードバックに感謝したい2つのコードです。私の究極の目的は、質問されるボックスに入力されたもので、以下の2つのコードでそれぞれ2つの問題について議論します。jQuery for ajax検索リクエスト
function update_results(){
$.ajax({
url: '{base}modules/search.php?q=' + $("#q").val(),
success: function(data) {
$('#q').bind('keyup', function() { $('#results').fadeIn(400).delay(500).html(data); }).keyup();
}
});
}
コードのこの作品は、一度要求がサーバーとのループに投げ込まれ、ブラウザが大幅に遅くする原因となるが、(入力した文字をアップし続ける)完璧に動作しています。
function update_results(){
$.ajax({
url: '{base}modules/search.php?q=' + $("#q").val(),
success: function(data) {
$('#q').bind('keyup', function() { $('#results').fadeIn(400).delay(500).html(data); });
}
});
}
コードのこの作品
は、ループの問題はありませんが、私は私のsearch.phpページに送信されたクエリを入力するたびに、常に最後の二から三文字が欠落しています。ここでは、上記の2つのシナリオのいずれかをトリガーするHTML要素です:
<h3>Site Search</h3>
<input id="q" type="text" onkeyup="update_results()" value="Type in a search term..." onFocus="this.value='';" /><br>
<a href="javascript:clear_results();">(Reset)</a> | <a href="search/">(Advanced Search)</a>
<div id="results" style="text-align: left; font-size: 11px;"></div></center>
</div>
私が望んだすべてはsearch.phpに送信する#Qのコンテンツ用で、Q =とそれのために?データを返して#results divに配置します。私はまた、そこにいくつかの種類のタイマーを置くことを望んだので、人が任意の時間値で指定されたように入力が完了した後、または数秒ごとに文字が入力されるたびにサーバーに照会しません。一度人が入力を終えたら、明らかにサーバーを叩くのをやめてください。
私はインターネット上を見渡し、調査をしていないように見える場合は謝罪します。それどころか、私はちょうど昨日jQueryを学び始めました。
お時間をいただきありがとうございます。これは本当に初心者の質問であれば、事前にお詫び申し上げます。
それはとてもシンプルに機能しました。時間と忍耐力をどうもありがとう! (ああ、私はshow()部分を削除しました。なぜなら、他の人に知らせるためです)。 – elixeus