私は ajax 投稿を作成し、それを介して別の php ファイルにデータを送信し、最終的にライブ検索を実行しています...しかし、ボックス内に何かを入力すると ajax が 1 -起動するのに2秒....検索をYouTubeの検索やFacebookの検索のようにしたいのですが、そこに何かを入力するとすぐに提案が表示されます...どうすればこれを修正できますか?
コードは次のとおりです。
$("#search").keyup(function(){
var value = $(this).val();
var categ = $("#categ").val();
if (value.length >= 1)
{
$.ajax({
type: "POST",
url: "../core/search.php",
data: { string : value , categ : categ },
success: function(result){
$(".each_movie").hide();
$(".search_movie").remove();
$("#movies").append(result);
}
});
}
else
{
$(".each_movie").show();
$(".search_movie").remove();
}
});
とPHP
$src = $_POST['string'];
$categ = $_POST['categ'];
$sql = mysql_query("SELECT * FROM movies WHERE `$categ` LIKE '%".$src."%' ") or die(mysql_error());
while ($sql_grab = mysql_fetch_assoc($sql))
{
?>
<div class="search_movie">
<p style="margin-bottom:5px;font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif;color:rgba(255,255,255,0.3);font-size:12px;">Din: <?php echo $sql_grab['airdate']; ?> in cinematografe.</p>
<table>
<tr>
<td rowspan="2" valign="top"><img class="main_pic" src="<?php echo $sql_grab['mainpic']; ?>" width="180px" /></td>
<td><p class="name"><?php echo $sql_grab['name']; ?></p></td>
</tr>
<tr>
<td><div class="desc_wrapper" id="<?php echo $id; ?>" style="display:inline-block;"><p class="desc"><?php echo mysql_real_escape_string($sql_grab['description']); ?></p></div><p nr="<?php echo $id; ?>" id="more<?php echo $id; ?>" class="more" style="position:absolute;margin:30px 2px;color:rgba(255,255,255,0.2);cursor:pointer;display:inline-block">...citeşte</p></td>
</tr>
</table>
</div><!--each movie end-->
<?php
}