我在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 感谢
答案 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();
});