我有一个PHP和jQuery脚本,可以从文本框中创建搜索结果建议。但是,当您在文本框中键入内容时,将其删除并尝试进行其他查询,不会显示任何建议。为什么会这样?
以下是我的网页代码的副本:
<script type="text/JavaScript">
function lookup(inputString){
if (inputString.length==0){
$('#suggestions').hide();
} else{
$.post("suggestions.php",{
queryString: "" + inputString + ""},
function(data){
$('#suggestions').html(data);
});
}
}
</script>
<form>
<input type="text" size="30" onkeyup="lookup(this.value);">
<div id="suggestions"></div>
</form>
这是我的PHP代码的副本:
<p id="searchresults"><?php
$db=new mysqli('localhost','username','password','database');
if(isset($_POST['queryString'])){
$queryString=$db->real_escape_string($_POST['queryString']);
if(strlen($queryString)>0){
$query = $db->query("SELECT * FROM search s WHERE name LIKE '%" . $queryString . "%'");
if($query){
while ($result = $query ->fetch_object()){
echo '<a href="'.$result->name.'">';
$name=$result->name;
echo ''.$name.'';
}
}
}
}
?></p>
提前致谢,Callum
答案 0 :(得分:4)
你隐藏但不再显示。
将您的回调功能更改为:
function(data){
$('#suggestions').html(data).show();
}
或fadeIn()
增加可爱度;)
答案 1 :(得分:1)
在$('#suggestions').show()
声明中添加else
。