jquery 自动完成功能不适用于 JSON 数据

发布于 2024-10-03 08:35:27 字数 703 浏览 0 评论 0原文

我的 PHP 代码将 JSON 数据返回到 jquery 自动完成,但自动完成不起作用

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 标签。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

﹏半生如梦愿梦如真 2024-10-10 08:35:27

来自:

您的 JSON 需要包含 标签(或两者)。将keyword更改为value,它应该可以正常工作。

From:

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

盗琴音 2024-10-10 08:35:27

您的代码需要稍微修改一下。

 while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
    $row_array['value'] = $row['id'];
    $row_array['label'] = $row['keyword'];

    array_push($return_arr,$row_array);
}

回显 json_encode($return_arr);

现在你的 json 格式将是

[{"value":"2","label":"Games"},{"value":"3","label":"Goa"}]

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"}]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文