如何将可点击链接添加到json_encode? p>
我用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);
}
答案 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);
}
});