使用jQueryUI的自动完成搜索MySQL数据库。 当用户按下搜索字段中输入,我想填充的结果(S)一个div来自DB返回。
代码工作,并不会返回的建议自动完成列表。
然而,JSON数据在选择返回:功能是不是我的预期。
在下面的PHP代码示例,该查询请求与由查询匹配的每个标题数据库中的所有领域。 应该有其他领域,如作者,投标,ISBN,流派等-但是,只有title
返回现场。
谷歌Chrome浏览器的控制台看起来是这样的:
Object {item: Object}
item: Object
label: "Much Obliged Jeeves"
value: "Much Obliged Jeeves"
__proto__: Object
Object {label: "Much Obliged Jeeves", value: "Much Obliged Jeeves"}
哪里是其他领域?
我的jQuery:
$('#srxbks').autocomplete({
source: "autocomplete_test.php",
minLength: 1,
select: function( event, ui ) {
console.log(ui);
console.log(ui.item);
console.log(ui.item.label);
//Not working:
var out = 'Title: ' + ui.item.title + '<br>';
out += 'Author: ' + ui.item.author + '<br>';
$('.booksTableDIV').val(out);
}
});
我的PHP:
<?php
include 'connect.php';
$term = strip_tags($_GET['term']);//retrieve search term sent by autocomplete
$qstring = "SELECT * FROM `books` WHERE `title` LIKE '%" .$term. "%'";
$query = mysql_query($qstring) or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$row['title']=htmlentities(stripslashes($row['title']));
$row['bid']=(int)$row['bid'];
$row_set[] = $row['title'];
}
echo json_encode($row_set);