提前输入建议:获取ID而不是值,并将ID传递给URL

时间:2019-04-09 08:23:57

标签: php jquery typeahead

我有一个用于预先输入搜索功能的PHP和Javascript代码,它工作正常。但是,如果您看下面的代码,我正在传递搜索值,如何获取ID并传递给表单URL?

HTML

<form method="get" class="form-inline customers" autocomplete="off" action="/customers/<?php echo id; ?> ">       
<input class="customers" id="customers" type="text" name="customers">
<button type="submit" title="Search Customers"></button>
</form>

JavaScript

    <script>
    $( document ).ready(function() {
    $('input.customers').typeahead({
    source: function (query, process) {
var countrycode = '<?php echo $agencyid; ?>';
    return $.get('fetch_customers.php', { query: query, cc: countrycode }, function (data) {
    data = $.parseJSON(data);
    return process(data);
    });
    },
    });
    });
    </script>

PHP

$countrycode1 = $_GET['cc'];
 $sql="SELECT
       first_name,
       last_name,
       id,
       status,
       agency_id
       FROM customers
       WHERE (agency_id = '$countrycode1') AND first_name LIKE '%".$_GET['query']."%' LIMIT 20";
   $resultset = mysqli_query($conn, $sql) or die("database error:". 
   mysqli_error($conn));
   $json = array();
   while( $rowscity = mysqli_fetch_assoc($resultset) ) {
   $json[] = $rowscity["first_name"];
   $json[] = $rowscity["id"];
    }
   $output = json_encode($json);
   echo $output;
   mysqli_close($conn);
    ?>

1 个答案:

答案 0 :(得分:0)

您的PHP脚本:

<script>
    $(document).ready(function () {
        $('input.customers').typeahead({
            source: function (query, process) {
                var countrycode = '<?php echo $agencyid; ?>';
                $.get('fetch_customers.php', {query: query, cc: countrycode}, function (data) {
                    $('form').attr('action', '/customers/' + data); 
                });
            },
        });
    });
</script>

您的脚本可以像:

{{1}}