我正在使用JQuery自动完成功能:
<ul id="searchFilter">
<li><input name="searchtext" id="searchtext" placeholder="Search..." /><input type="submit" class="prontoSubmit" id="submit" name="submit" value="Go" />
</li>
</ul>
然后是Jquery
$('#searchtext').autocomplete({source:'search.php', minLength:2});
调用search.php,返回基于$_REQUEST['term']
的结果,我可以看到它的下一个工作调用,即工作正在给出预期的结果:
[{"label":"Parkside Semi II, Hamilton, Greenhill Glen","value":"Parkside Semi II"},{"label":"Parkside Semi, Hamilton, Greenhill Glen","value":"Parkside Semi"},{"label":"Parkside, Hamilton, Greenhill Glen","value":"Parkside"},{"label":"Parkview, Beamsville, Discovery","value":"Parkview"}]
但是我的自动填充功能没有显示结果......我做错了什么?
以下是search.php中的代码
<?php
include("classes/FunctionsClass.php");
include("classes/Class.php");
$functionClass = new FunctionsClass;
$class = new Class;
$connection = $functionClass->getConnection();
echo json_encode($class->getSearch($connection, $_REQUEST['term']));
?>
$connection
是我的sqli连接(有效),这是我的班级:
function getSearch($connection, $term){
$query = mysqli_query($connection, "SELECT home_title, rb_locations.locationLabel, rb_communities.rb_communityLabel FROM readyBuilt INNER JOIN rb_communities ON rb_communities.rb_communityId = readyBuilt.home_community INNER JOIN rb_locations ON rb_locations.locationId = readyBuilt.home_location WHERE home_title LIKE '" . $term . "%'");
$results = array();
while($row = mysqli_fetch_array($query)){
$results[] = array(
'label' => $row['home_title'] . ', ' . $row['locationLabel'] . ', ' . $row['rb_communityLabel'],
'value' => $row['home_title']
);
}
return $results;
}