在另一个下拉列表中显示数据,相关的第一个下拉数据

时间:2017-12-22 16:32:43

标签: javascript php jquery mysql ajax

我有两个div。一个是输入类型文本(搜索城市),另一个是选择选项(根据城市搜索选择区域。)。如果我在第一个div中键入城市名称,则相关城市显示在下拉列表中,当我选择任何城市时,则应显示第二个div中的相关区域。

我的朋友是:

<div class="col-xs-12 col-sm-6 col-md-3">
            <div class="form-group mb-15">
            <input type="text" name="selectcity" id="selectcity" class="selectcity tt-query" autocomplete="off" spellcheck="false" placeholder="Type your Query">
            </div>
          </div>

          <div class="col-xs-12 col-sm-6 col-md-3">
            <div class="form-group mb-15" >
              <select required id="selectarea" class="form-control" name="selectarea"> 
              <option value="">Select Area</option>
              </select>
            </div>
          </div>

现在脚本是:

<script src="typeahead.min.js"></script>
<script>
$(document).ready(function() {
$('input.selectcity').typeahead({
    name: 'selectcity',
    remote: 'search.php?key=%QUERY',
    limit: 10
}).on('typeahead:selected', function(e){
    var selectedcity = $(this).val();

    $.ajax({
        type: "POST",
        url: "process-request.php",
        data: "selectcity=" + selectedcity,
    }).done(function(data) {
        $("#selectarea").html(data);
    });
});
});

search.php是:

<?php
include("connection.php");
$key=$_GET['key'];
$array = array();

$query=mysql_query("select * from location_master where status1='1' AND location LIKE '%{$key}%'");
while($row=mysql_fetch_array($query))
{
  $array[] = $row['location'];
}
echo json_encode($array);
?>

process-request.php是

<?php
include("connection.php");

if(isset($_POST["selectcity"])){

    $selectcity = $_POST["selectcity"];

    $query1=mysql_query("select * from location_master where parent_id='$selectcity'") or die (mysql_error());


    if($selectcity !== 'Select City'){
echo"<option value=''>Select Area</option>";
        while($value = mysql_fetch_array($query1)) {
            ?>
               <option value="<?php echo $value['id'];?>" ><?php echo $value['location'];?></option>
            <?php
        }

   } 
}
?>

但是在search.php $ array [] = $ row ['location']; 显示准确的城市。但它为区域提供了 id

如果我 $ array [] = $ row ['id']; ,则在文本框中输入city,然后在下拉菜单中显示 ID ,并提供准确的区域在区域选项。

但是我需要在下拉列表中显示城市,但 ID 应该是相关城市的区域选项。

0 个答案:

没有答案