2014-08-30 71 views
1

我有什么

使用typeahead.js显示值数组的文本输入字段。这些来自一个查询MySql表的php脚本。typeahead.js:如何使结果自动重定向到基于结果生成的URL?

HTML/JS:

<div class="FORM col-sm-3"> 
       <div class="input-group"> 
         <input type="text" data-provide="typeahead" class="form-control" id="formsearch" name="formsearch" autocomplete="off" placeholder="FORM"> 
       </div> 
<script> 
$.get('searchers/forms.php', function(data){ 
    $("#formsearch").typeahead({ source:data }); 
},'json'); 
</script> 
     </div> 

搜索/ forms.php:

<?php 

include('../config/DBconnect.php'); 

$result = $con->query("SELECT id,name FROM forms LIMIT 0,10"); 
    while ($row = $result->fetch_object()){ 
        $user_arr[] = $row->id; 
           $user_arr2[] = $row->name; 
          } 
    $result->close(); 
    echo json_encode($user_arr2); 
?> 

以上的作品,在某种意义上说,它使我从MySQL表选项的下拉菜单。

我试图实现

我想有结果的URL,即在选择重定向。

这些URL总是有一个与数组中值相关的模式。所以如果一个列表是'你好'的网址将是'hello.php'

我对如何做到这一点有一些模糊的想法。

  1. 已经在MySQL的表中的URL列,尽管这可以为数百个条目得到重复
  2. 获取PHP脚本输出取“名字”值,把它变成了相关的URL,那么进入阵列。那么预输入将有两个
  3. 区分在Javascript执行类似的功能

我是新来的游戏,盲目飞行在这里,所以我接受其他的建议,以如何去这个。我也不确定我需要搜索什么,所以我很抱歉如果有人在我面前这样做过。

感谢您的帮助

回答

0

哦,男人的解决方案是在我的脸上凝视着。

$.get('searchers/forms.php', function(data){ 
     $("#formsearch").typeahead({ 
    source:data, 
      updater: function (selectedName) { 
      window.location.href =[ selectedName ]+".php"; 
       } 
}); 
},'json'); 

很容易,当你知道我怎么猜。