2010-11-20 53 views
7

我的PHP代碼返回JSON數據到jQuery的自動完成,但自動完成不工作jQuery的自動完成不使用JSON數據工作

jQuery的自動完成

$("input#txtaddkey").autocomplete({ 
      source: "keyword.php", 
       minLength: 2 
     }); 

PHP代碼

$fetch = mysql_query("SELECT * FROM o_keyword where keyword like '%" . $query . "%'"); 

    while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) { 
     $row_array['id'] = $row['id']; 
     $row_array['keyword'] = $row['keyword']; 

     array_push($return_arr,$row_array); 
    } 
echo json_encode($return_arr); 

JSON數據輸出

[{"id":"2","keyword":"Games"},{"id":"3","keyword":"Goa"}] 

在輸入「Ga」的同時,我在前端收到空的li標籤。

+0

貴 「keyword.php」 其實任何回報?檢查與firegug ... – 2010-11-20 19:38:29

+0

是它返回[{「id」:「2」,「關鍵字」:「遊戲」},{「id」:「3」,「關鍵字」:「果阿」}] – Elankeeran 2010-11-20 19:48:07

回答

1

您的代碼需要稍加修改。

while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) { 
    $row_array['value'] = $row['id']; 
    $row_array['label'] = $row['keyword']; 

    array_push($return_arr,$row_array); 
} 

echo json_encode($ return_arr);

現在您的JSON格式將

[{"value":"2","label":"Games"},{"value":"3","label":"Goa"}]