2014-08-30 70 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'); 

很容易,當你知道我怎麼猜。