如何将Typeahead搜索结果链接到另一个页面

时间:2016-06-30 21:57:32

标签: html json ajax typeahead twitter-typeahead

我刚安装了Twitter Typeahead(旧版vesion 0.9.3)。

现在它链接到search.php页面,该页面查询MySQL数据库以获得结果。它得到了我需要的结果,但是,当我选择结果时,我无法弄清楚如何传递ID或其他信息来创建指向另一个页面的链接。

以下是HTML页面中调用search.php页面的函数:

<script>
$(document).ready(function(){
    $('input.typeahead').typeahead({
        name: 'typeahead',
        remote:'search.php?key=%QUERY',
        limit : 10
    });
});
</script>

然后调用search.php,它正确地查询数据库并获得我需要的结果:

<?php
$key=$_GET['key'];
$array = array();
$con=mysql_connect("hostname","username","password");
$db=mysql_select_db("databasename",$con);
$query=mysql_query("select * from customers where clientDisplayName  LIKE '%{$key}%' OR clientPhNumber  LIKE '%{$key}%' OR clientAltPhNumber LIKE '%{$key}%'");
while($row=mysql_fetch_assoc($query))
{
  //$array[] = "<a href='customer-details.php?cid=".$row['id'] ."'><tr><td>" . $row['clientDisplayName'] . "</tr></td></a>";
  $array[] = $row['clientDisplayName'];
}
echo json_encode($array);
?>

你可以在那里看到评论,如果我使用它而不是取消注释的数组,它会按照我的意愿创建一个链接,但是......它就是这样的错误。
通过Buggy我的意思是:

  1. 我必须点击实际文本而不是结果行中的任何位置
  2. 我不能简单地向下箭头并按Enter键选择一个响应(必须用鼠标点击)
  3. 即使用鼠标点击,我也能看到整体

关于我在这里可以做什么的任何想法?

1 个答案:

答案 0 :(得分:0)

不要使用twitter typeahead。它被废弃,不再维护,它有250个问题,其中一些非常严重的基本行为和严重的错误。我建议改为github.com/bassjobsen/Bootstrap-3-Typeahead。