jQueryオートコンプリートでエンコードされた値が表示されない

私はこの例から作業しています: http://jqueryui.com/demos/autocomplete/#remoteと私はこのような出力をエンコードしています:

    $rows = array();
    while($r = mysql_fetch_assoc($category_result))
    {

        $rows[] = $r;
        error_log ("rows: ".$rows[0]);
    }

    echo json_encode($rows);

しかし、反対側のドロップダウンは何も表示されません。私のテストページは次のとおりです: http://problemio.com/test.php - 「ho "それはデータベースの2つの結果と一致しますが、何らかの理由で表示されません。どんな考え?

ありがとう!!

0

1 答え

プロパティの名前は label value です。 リンク先のJQuery UIデモページから:

ローカルデータは単純な文字列配列でも、   配列内の各項目のオブジェクト(ラベルまたは値のいずれか)   プロパティまたはその両方。ラベルプロパティが提案に表示されます   メニュー。

したがって、 category_name の名前をJavaScriptの source ハンドラ関数でPHPで、または後で label に変更する必要があります。後者の場合は、PHP URLをリモートの例。こうすることで、データを任意の方法で(たとえばjQuery.getJSON()によって)取得し、提案ボックスに渡す前にデータを操作することができます。

お役に立てれば。

あなたのコメントについて、これはそれを行う必要があります:

$rows = array();
while ($r = mysql_fetch_array($category_result)) {
   $rows[] = array("label" => $r["category_name"]);
}
echo json_encode($rows);
1
追加された
こんにちは、意味がありますが、それを行う方法がわかりません。これは私のPHPループでどのように見えますか? category_nameはデータベースフィールドなので、これをどのようにプルするかわからないと思います。
追加された 著者 GeekedOut,
ありがとう - あなたの助けを借りてそれを考え出した!!
追加された 著者 GeekedOut,