使用 jquery 搜索

search with jquery

本文关键字:搜索 jquery 使用      更新时间:2023-09-26

我通过js搜索我的网站。

他们的代码可能看起来像:有一个表单,当 KeyUp 事件时,它会将 post 发送到一个文件并将该文件中的数据检索到div 疯狂的 HTML 中。

但这自己有麻烦了。我发现"a"的例子大约有 3000 个结果。例如,花一秒钟发送帖子。 所以我按"c"现在将帖子发送到文件是"ac",并且有 100 个这样的结果需要 0.3 秒。例如,当我按下字母"a"到"c"0.2秒时,它应该在0.5秒处显示结果"ac"。然后 0.5 秒后它是"a"的结果。~> 查找"ac"以查找"a"那么,当您按" c"然后它停止发送值为" a"的发送帖子时,您现在该怎么办,该发送值为" ac"的帖子。

<form method="post" onsubmit="return checkForm(this.form)">
<div class="search padding">
    <input type="text" id="searchbox" name="manga_name" class="input" value="Tìm truyện muốn đọc ..." onfocus="if (value =='Tìm truyện muốn đọc ...'){value =''}" onblur="if (value ==''){value='Tìm truyện muốn đọc ...'}" />
    <input type="submit" value=" " id="searchsubmit" class="go"/>
</div>
    </form>
<div id="result"></div>

还有剧本:

<script>
$('#searchbox').keyup(function() {
 search();
});
function search() {
var keyword = $('#searchbox').val();
if (keyword != "") {
$('#result').html(loadingText);
$('#result').css('display', 'block');
$.post('/search/',{"keyword":keyword}, function(data){
if (data != "")
{
$('#result').html(data);
}
else
{
$('#result').html('');
$('#result').css('display', 'none');
}
});
}
else {
$('#result').html('');
$('#result').css('display', 'none');
}
}
</script>
// use to delay the callback execution
// so your search will be executed only you stop typing after 0.5(500 ms for example) second
var delay = (function(){
  var timer = 0;
  return function(callback, ms){
    clearTimeout(timer);
    timer = setTimeout(function() {
      callback();
    }, ms);
  }
}());
$('#searchbox').keyup(delay(search, 500));

你可以试试;

var timer = null;
$("#text_box").keyup(function() {
  if(timer) {
    clearTimeout(timer);
  }
  timer = setTimeout(search, 1000);
});

之前问过一个类似的问题。在发布问题之前,请务必在堆栈溢出中进行搜索。