Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery autocomplete not working with JSON data

My PHP code return JSON data to jquery autocomplete but autocomplete not working

Jquery autocomplete

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

PHP code

$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 data output

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

And while typing "Ga" I am getting empty li tag in front end.

like image 804
Elankeeran Avatar asked Nov 20 '10 19:11

Elankeeran


2 Answers

From:

  • http://jqueryui.com/demos/autocomplete/

your JSON needs to contain label or value (or both). Change keyword to value and it should work fine.

like image 199
icyrock.com Avatar answered Oct 06 '22 21:10

icyrock.com


Your code needs to be slightly modified.

 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);

Now your json format will be

[{"value":"2","label":"Games"},{"value":"3","label":"Goa"}]
like image 31
Vinit Kadkol Avatar answered Oct 06 '22 19:10

Vinit Kadkol