Typeahead和clickable建议链接

时间:2015-07-24 11:25:56

标签: javascript php typeahead.js

我在search.php中有这段代码:

<?php

    $key=$_GET['key'];
    $array = array();
    $con=mysql_connect("localhost","user","pass");
    $db=mysql_select_db("db",$con);
    $query=mysql_query("select * from users where username LIKE '%{$key}%'");
    while($row=mysql_fetch_assoc($query))
    {
      $array[] =$row['code'].$row['id'];

    }
    echo json_encode($array);
?>

这个脚本在Javascript中

<script src="typeahead.min.js"></script>
        <script>
    $(document).ready(function(){
    $('input.typeahead').typeahead({
        name: 'typeahead',
        remote:'search.php?key=%QUERY', 
        href : 'profile.php?id='

        });
});
    </script>
<script>
    $('input.typeahead').on( 'typeahead:selected', function(event, datum) {

  window.location = "profile.php?id=" 
});
    </script>

我对用typeahead的js和API不是很方便,然后我问你: 还有另一个功能来建议网址链接?

语法是

  

profile.php?ID = $ ID

我正在使用window.location但我无法在变量数组中传递用户ID 感谢

2 个答案:

答案 0 :(得分:0)

我知道这篇文章很老了但是,我会留下一个解决方案,对我来说同样的问题也是如此。

您需要使用custom template来实现此目标。

$('input.typeahead').typeahead(null, {
    displayKey: 'name',
    source: restaurants.ttAdapter(),
    templates:{
      suggestion:function(data) {
        return "<a href=""profile.php?id="  + data.id + ">"+ data.name +"</a>"
      }
    }
  });

答案 1 :(得分:0)

不要忘记停止下一次传播活动:

    $('#myFormID').bind('typeahead:select', function(ev, suggestion) {
      ev.stopPropagation();
    });