【问题标题】:typeahead.js: How to make results auto-redirect to a URL that is generated based on the result?typeahead.js:如何使结果自动重定向到基于结果生成的 URL?
【发布时间】:2014-08-30 12:46:39
【问题描述】:

我有什么

使用 typeahead.js 显示值数组的文本输入字段。这些来自查询 MySql 表的 php 脚本。

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”,则 URL 将是“hello.php”

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

  1. 在 mysql 表中有一个 URL 列,尽管这可能会在数百个条目中重复
  2. 获取 PHP 脚本以获取“名称”值,将其转换为相关 URL,然后将其输出到数组中。然后,Typeahead 必须区分两者
  3. 在 Javascript 中执行类似的功能

我是游戏新手,在这里盲目飞行,所以我愿意接受其他关于如何解决这个问题的建议。我也不确定我需要搜索什么,所以如果有人在我之前这样做过,我深表歉意。

感谢您的帮助

【问题讨论】:

    标签: typeahead.js


    【解决方案1】:

    哦,天哪,解决方案正盯着我的脸。

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

    当你知道我的猜测时很容易。

    【讨论】:

      猜你喜欢
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多