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 - егер сіз «ол дерекқорда 2 нәтижеге сәйкес келеді, бірақ олар қандай да бір себептермен көрсетілмейді. Кез келген идея неге?

Рахмет!

0

1 жауаптар

Сипаттар label және value деп аталуы керек. Сіз байланыстырылған jQuery UI демо бетінде :

Жергілікті деректер қарапайым жолдар массиві болуы мүмкін немесе ол бар   Белгіде немесе мәнмен массивтің әр элементке арналған нысандар   меншік немесе екеуі де. Белгі сипаты ұсыныста көрсетіледі   

Сондықтан category_name дегенді этикеткасына немесе PHP немесе одан кейінірек JavaScript кодының source өңдегіш функциясында өзгерту қажет болады. Соңғы сізге 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 циклі қалай көрінеді? Санат_аты - деректер қорының өрісі, сондықтан оны қалай жоюға болатынын білмеймін.
қосылды автор GeekedOut, көзі
Рахмет - бұл сіздің көмегіңізбен ойластырылған !!
қосылды автор GeekedOut, көзі