2010-11-20 28 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"}]