我想用我的數據庫使用jquerys自動完成,但我不知道如何從我的PHP腳本中返回數據作爲自動完成的選項。從數據庫的JQuery UI自動完成
這是我目前所面對的基於另一個論壇上發帖:
$('input#transferto').autocomplete({
source: function(request, response)
{
alert('{"term": "'+request.term+'", "mode": "ENTITY_AUTOCOMPLETE"}');
$.ajax({
url: SYSTEM_ROOT+'/assets/controllers/global.php',
data: 'dataString={"term": "'+request.term+'", "mode": "ENTITY_AUTOCOMPLETE"}',
success: function(data)
{
//alert(data);
//data = $.parseJSON(data) ;
response($.map(data, function(item) {
return{
label: item.user_login_name,
value: item.user_id
}
}))
}
})
},
minLength: 3,
datatype: 'json',
cache: false,
delay: 500,
而且在我的PHP文件:
if($mode == 'ENTITY_AUTOCOMPLETE')
{
$query = trim(strip_tags($JSON->term));
$q = $query.'%' ;
$result = $dbh->prepare("SELECT id, name FROM entity_details WHERE name LIKE ?") ;
$result->execute(array($q)) ;
//$data = '{' ;
//while($row = $result->fetch(PDO::FETCH_ASSOC)) {
//foreach($row as $key => $val)
//$data .= '"'.$key.'": "'.rawurldecode($val).'", ' ;
//}
//$data = substr($data, 0, strlen($data)-2).'}' ;
$data = $result->fetchAll(PDO::FETCH_ASSOC) ;
echo print_r($data) ;
}
正如你可以看到我已經試過只返回一個數組,並嘗試JSON,但無濟於事。
如何讓它工作?