我是一個新手,當涉及到jQuery,我正在盡我所能瞭解它。以下是兩段代碼,我將非常感謝您的反饋意見。我的最終目標是輸入到要查詢的框中,我將分別用下面的兩段代碼分別討論這兩個問題。jQuery的阿賈克斯搜索請求
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頁面查詢總是缺少最後兩三個字符。
這裏是觸發以上任兩種情形的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>
所有我想是在#q中的內容將被髮送到search.php中Q =和呢?返回數據並將其放置在#results div中。我還希望在那裏放置某種計時器,以便在某人按照任意時間值或每隔幾秒鐘指定完成打字後,每次輸入字符時都不會詢問服務器。一旦這個人完成打字,顯然我希望它停止錘擊服務器。
我在網上看了一圈,我很抱歉,如果它看起來像我還沒有做過任何研究。相反,我剛剛在昨天才開始學習jQuery。
感謝您的時間,如果這是一個真正的新手問題,我很抱歉。
這工作很好,很簡單。非常感謝你的時間和耐心! (哦,我確實刪除了show()部分,因爲它並不適用於此 - 只是爲了讓其他人知道)。 – elixeus