【问题标题】:php - json encoded jquery outputphp - json 编码的 jquery 输出
【发布时间】:2014-01-14 03:19:41
【问题描述】:

我正在使用 devbridge jquery 自动完成插件来创建自动完成搜索。除了 onSelect 部分,我已经能够让它工作。

我正在返回正确的 JSON 编码数据(见下文 - 从 firebug 复制)

    {"query":"pa",
     "suggestions":["Acer palmatum 'Bloodgood'","Quercus palustris","Euonymous elata 'Compactus'", "Parthenocissus tricuspidata"],
     "data":[4,5,7,10]} 

如上所述,一切正常,所有建议都会显示并且可以选择等等,但是当我选择一个项目时,会弹出警报消息

    you selected: undefined, null

查询代码

    $("#query").autocomplete({
        serviceUrl:'includes/search.php', 
        width:350,
        minChars:2,
        onSelect: function(suggestion){ alert('You selected: ' + suggestion.suggestions + ', ' + suggestion.data); }        
    });

最后,PHP 代码

    include ("connect.inc.php");

    $term = trim(strip_tags($_GET['query'])); 
    $term = mysql_real_escape_string($term);

    $qstring = "SELECT botanicalName, plantID FROM plants WHERE botanicalName LIKE '%$term%'";
    $result = mysql_query($qstring);

    $reply = array();
    $reply['query'] = $term;
    $reply['suggestions'] = array();
    $reply['data'] = array();

    while ($row = mysql_fetch_array($result)){
        $reply['suggestions'][]=htmlentities(stripslashes($row['botanicalName']));
        $reply['data'][]=(int)$row['plantID'];
    }

    echo json_encode($reply);

一如既往地提前感谢。

【问题讨论】:

    标签: jquery json autocomplete


    【解决方案1】:

    我给你唯一的 JS 部分。你能试试这个吗?

    $("#query").autocomplete({
            serviceUrl:'includes/search.php', 
            width:350,
            minChars:2,
            select: function(event, ui){ alert('You selected: ' + ui.item.suggestions + ', ' + ui.item.suggestions.data); }        
        });
    

    【讨论】:

    • 浏览器无法识别选择功能,所以我现在什至没有收到警报,我认为是因为选择不是自动完成选项。我用已知选项 onSelect 尝试了它,但仍然没有任何警报。
    • 我认为您使用的是旧版本的 jquery 自动完成
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    相关资源
    最近更新 更多