我正在使用jQuery进行自动填充,当我点击列表中的1项时,输入会获取列表中的所有项目(甚至是< li> ..< / li>)
这是我称之为
的脚本 if($_GET['q']) {
$queryString = $db->real_escape_string($_GET['q']);
if(strlen($queryString) >0) {
$query = $db->query("SELECT * FROM .... WHERE name LIKE '%$queryString%'");
if($query) {
while ($result = $query ->fetch_object()) {
echo "<li>$result->name</li>";
}
} else {
echo 'ERROR: There was a problem with the query.';
}
} else {
// Dont do anything.
} // There is a queryString.
} else {
echo 'There should be no direct access to this script!';
}
这是jQuery
<script type="text/javascript">
$(function() {
$("#ac3").autocomplete({
url:'searchcond.php',
select: function(event, ui) {
console.dir(ui);
event.preventDefault();
$("#ac3").text(ui.item.label);
}
});
});
</script>
此外,当我输入内容时,它无法获得它。我必须快速输入以获得正确的查询
答案 0 :(得分:0)
要修正正确的查询,您可以在搜索前添加延迟选项或minChars:http://docs.jquery.com/Plugins/Autocomplete/autocomplete#url_or_dataoptions
要获取文字,请尝试:$("#ac3").text(ui.item.label.text());
答案 1 :(得分:0)
我记得jquery autocomplete只需要一个键值列表(每行一个)响应,而不是UL-LI列表:
EG:
echo“$ key | $ value \ n”;
while ($result = $query ->fetch_object()) {
echo "$result->name\n";
}