autocomplete() 是如何工作的?
How do autocomplete() works?
当我尝试使用下面的代码实现自动完成时,我什么也没得到(没有结果,没有错误):
$('#keyword').autocomplete({
source : '/Dev/pages/search.php',
minLength : 3,
type : 'POST',
select: function( event, ui )
{
$(this).data("autocomplete").menu.element.addClass("yellow");
}
})
.data( "ui-autocomplete" )._renderItem = function( ul, item )
{
console.log(item);
return $( "<li>" )
.append( "<a>" + add3Dots(item.name,20) + "</a>" )
.appendTo( ul );
};
if(isset($_POST['term'])) {
//Word enter by user
$q = htmlentities($_POST['term']);
$search = connection::bdd_test();
$query = "SELECT name from BDD_TEST.companies WHERE name LIKE '%".$q."%' ORDER BY name asc";
$result = $search->query($query);
while($data = $result->fetch(PDO::FETCH_ASSOC)) {
$data['name'];
}
}
else
{
$data['call']=false;
$data['message']="Problem to collect word";
}
echo json_encode($data);
谁能告诉我这是怎么回事?
我认为可能是 data(),但我不确定。
PHP - search.php
$a_json = array();
$a_json_row = array();
$search = connection::bdd_test();
$query = "SELECT name from BDD_TEST.companies ORDER BY name asc";
$result = $search->query($query);
while($data = $result->fetch(PDO::FETCH_ASSOC)) {
$a_json_row["name"] = $data['name'];
array_push($a_json, $a_json_row);
}
$json = json_encode($a_json);
print_r($json);
jQuery-ui 自动完成
$( "#keyword" ).autocomplete({
source: "/Dev/pages/search.php",
minLength: 3,
select: function( event, ui ) {
$(this).data("autocomplete").menu.element.addClass("yellow");
}
});
确认一下:
- 您的数据连接是否正常。
- 来源是否有效。
我认为如果一切正常,那么代码就可以正常工作。
当我尝试使用下面的代码实现自动完成时,我什么也没得到(没有结果,没有错误):
$('#keyword').autocomplete({
source : '/Dev/pages/search.php',
minLength : 3,
type : 'POST',
select: function( event, ui )
{
$(this).data("autocomplete").menu.element.addClass("yellow");
}
})
.data( "ui-autocomplete" )._renderItem = function( ul, item )
{
console.log(item);
return $( "<li>" )
.append( "<a>" + add3Dots(item.name,20) + "</a>" )
.appendTo( ul );
};
if(isset($_POST['term'])) {
//Word enter by user
$q = htmlentities($_POST['term']);
$search = connection::bdd_test();
$query = "SELECT name from BDD_TEST.companies WHERE name LIKE '%".$q."%' ORDER BY name asc";
$result = $search->query($query);
while($data = $result->fetch(PDO::FETCH_ASSOC)) {
$data['name'];
}
}
else
{
$data['call']=false;
$data['message']="Problem to collect word";
}
echo json_encode($data);
谁能告诉我这是怎么回事?
我认为可能是 data(),但我不确定。
PHP - search.php
$a_json = array();
$a_json_row = array();
$search = connection::bdd_test();
$query = "SELECT name from BDD_TEST.companies ORDER BY name asc";
$result = $search->query($query);
while($data = $result->fetch(PDO::FETCH_ASSOC)) {
$a_json_row["name"] = $data['name'];
array_push($a_json, $a_json_row);
}
$json = json_encode($a_json);
print_r($json);
jQuery-ui 自动完成
$( "#keyword" ).autocomplete({
source: "/Dev/pages/search.php",
minLength: 3,
select: function( event, ui ) {
$(this).data("autocomplete").menu.element.addClass("yellow");
}
});
确认一下:
- 您的数据连接是否正常。
- 来源是否有效。
我认为如果一切正常,那么代码就可以正常工作。