php-json编码的jquery输出
我正在使用devbridgejquery自动完成插件来创建自动完成搜索。除了onSelect部分外,我已经能够让它工作了 我将返回正确的JSON编码数据,请参见下文-复制自firebugphp-json编码的jquery输出,jquery,json,autocomplete,Jquery,Json,Autocomplete,我正在使用devbridgejquery自动完成插件来创建自动完成搜索。除了onSelect部分外,我已经能够让它工作了 我将返回正确的JSON编码数据,请参见下文-复制自firebug {"query":"pa", "suggestions":["Acer palmatum 'Bloodgood'","Quercus palustris","Euonymous elata 'Compactus'", "Parthenocissus tricuspidata"], "
{"query":"pa",
"suggestions":["Acer palmatum 'Bloodgood'","Quercus palustris","Euonymous elata 'Compactus'", "Parthenocissus tricuspidata"],
"data":[4,5,7,10]}
如上所述,一切正常工作,所有建议都会显示并可选择,等等,但当我选择一个项目时,会弹出警告消息
you selected: undefined, null
JQUERY代码
$("#query").autocomplete({
serviceUrl:'includes/search.php',
width:350,
minChars:2,
onSelect: function(suggestion){ alert('You selected: ' + suggestion.suggestions + ', ' + suggestion.data); }
});
最后是PHP代码
include ("connect.inc.php");
$term = trim(strip_tags($_GET['query']));
$term = mysql_real_escape_string($term);
$qstring = "SELECT botanicalName, plantID FROM plants WHERE botanicalName LIKE '%$term%'";
$result = mysql_query($qstring);
$reply = array();
$reply['query'] = $term;
$reply['suggestions'] = array();
$reply['data'] = array();
while ($row = mysql_fetch_array($result)){
$reply['suggestions'][]=htmlentities(stripslashes($row['botanicalName']));
$reply['data'][]=(int)$row['plantID'];
}
echo json_encode($reply);
一如既往地提前感谢。我给你的是唯一的JS部分。你能试试这个吗
$("#query").autocomplete({
serviceUrl:'includes/search.php',
width:350,
minChars:2,
select: function(event, ui){ alert('You selected: ' + ui.item.suggestions + ', ' + ui.item.suggestions.data); }
});
浏览器没有识别select函数,所以我现在甚至没有收到警报,我想这是因为select不是一个自动完成选项。我用已知的onSelect选项进行了尝试,但仍然没有任何警报。我认为您使用的是较旧版本的jquery autocomplete