当谈到 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。
感谢您的宝贵时间,如果这是一个非常新手的问题,我提前道歉。