我是新来的,所以请放轻松。这有点令人困惑。:)
我正在处理搜索输入,其中用户在搜索文本框中输入另一个用户的名称(或名称的一部分),然后返回与该搜索字符串匹配的用户列表。问题是当涉及数以万计的用户时它有点慢。由于这种缓慢性,当用户在搜索输入中快速输入名称时,屏幕将开始闪烁搜索每个按键的结果(在用户已经输入搜索字符串之后)。这就像一个严重延迟的反应。
例如,如果我输入名称“Wendy”,搜索字符串“W”(我输入的第一个字符)的搜索结果甚至都不会显示。然后将显示字母“W”的搜索结果,然后显示“We”等等,即使我已经输入了全名并且只想查看“Wendy”的结果。
我想要做的只是在用户在一段时间内没有输入任何内容时执行搜索(我在想两秒钟)。否则,将显示“搜索”一词。Javascript方法的代码如下。请注意,该代码目前可用于搜索用户,我只需要实现延迟执行。
function updateSearchResults() {
if($F('searchString').length > 0){
Element.update($('searchResultsScrollBox'), '<h3>Searching...</h3>');
$('searching').style.display = 'block';
var url = '<c:url value='ajaxFrontGetUsers.html'/>';
var ajax = new Ajax.Updater({success: 'searchResults'}, url,
{method: 'post', parameters: $('searchForm').serialize(true)});
$('searching').style.display = 'none';
}
}
我希望这一切都有意义。提前感谢任何可以提供帮助的人。