如何将链接添加到json_encode?

时间:2019-07-16 00:31:38

标签: php jquery

如何将可点击链接添加到json_encode?

我用jquery做了一个多查询自动完成文本框。也许这不是执行多个查询的正确方法,但是还是可以的。

$conn = new PDO("mysql:host=".DB_SERVER.";port=3306;dbname=".DB_NAME, DB_USER, DB_PASSWORD);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $stmt = $conn->prepare('SELECT * FROM azonositok WHERE guid LIKE :term');
        $stmt->execute(array('term' => '%'.$_GET['term'].'%'));

        while($row = $stmt->fetch()) {
            $return_arr[] =  $row['guid']; /// I want to link to http://example.com/guid.php

        }
        $stmt1 = $conn->prepare('SELECT * FROM felhasznalok WHERE fnev LIKE :term');
        $stmt1->execute(array('term' => '%'.$_GET['term'].'%'));

        while($row1 = $stmt1->fetch()) {
            $return_arr[] =  $row1['fnev']; /// I want to link to http://example.com/profile.php
        }

    } catch(PDOException $e) {
        echo 'HIBA: ' . $e->getMessage();
    }


    echo json_encode($return_arr);
}

1 个答案:

答案 0 :(得分:1)

您必须添加一个函数,以便在自动完成小部件的下拉列表中选择一个项目后执行。

这是通过select属性完成的,如下所示:

$(".auto").autocomplete({
    source: "search.php",
    minLength: 1,
    select: function(event, ui) { 
        window.location.href = ui.item.value;
    }
}); 

这会将当前窗口的位置更改为所选项目的值。

编辑: 要更改默认值,即在焦点上显示该值/选择显示标签,可以尝试以下操作:

$(".auto").autocomplete({
    source: "search.php",
    minLength: 1,
    select: function(event, ui) { 
        event.preventDefault();
        $('.auto').val(ui.item.label);
        window.location.href = ui.item.value;
    },
    focus: function(event, ui) {
        event.preventDefault();
        $('.auto').val(ui.item.label);
    }
});