2010-11-20 8 views
7

私のPHPコードリターンJSONデータを作業が、オートコンプリートjqueryのオートコンプリートはjqueryのオートコンプリートにJSONデータを

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

jQueryのオートコンプリート機能していない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"と入力すると、フロントエンドに空のタグがついてきます。

+0

になりますあなたの "keyword.phpは、" 実際には何も返していますか?火かき棒で確認してください... –

+0

はい、それは[{"id": "2"、 "キーワード": "ゲーム"}、{"id": "3"、 "keyword": "Goa"}] – Elankeeran

答えて

28

あなたのJSONはlabelまたはvalue(あるいはその両方)を含める必要があります。 keywordvalueに変更しても問題ありません。

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"}] 
関連する問題