简体   繁体   English

如何向此脚本添加功能

[英]How can i add function to this script

i found this script online and i want to add a submit button that sends you on selected city. 我在网上找到了这个脚本,我想添加一个提交按钮,将您发送到所选城市。 Sorry for the stupid question, i'm a newbie. 很抱歉这个愚蠢的问题,我是新手。

Exemple: 例:

Dropdown selection: Belgium->West Flanderi->Brugge 下拉选项:比利时->西弗拉德里->布鲁日

The page redirects you to: 该页面将您重定向到:

https://www.yoursitename.com/city/belgium/west-flanderi/brugge https://www.yoursitename.com/city/belgium/west-flanderi/brugge

Here is the link with the demo 这是演示的链接

index.php 的index.php

<script type="text/javascript">
  $(document).ready(function(){
$('#country').on('change',function(){
    var countryID = $(this).val();
    if(countryID){
        $.ajax({
            type:'POST',
            url:'ajaxData.php',
            data:'country_id='+countryID,
            success:function(html){
                $('#state').html(html);
                $('#city').html('<option value="">Select state first</option>'); 
            }
        }); 
    }else{
        $('#state').html('<option value="">Select country first</option>');
        $('#city').html('<option value="">Select state first</option>'); 
    }
});

$('#state').on('change',function(){
    var stateID = $(this).val();
    if(stateID){
        $.ajax({
            type:'POST',
            url:'ajaxData.php',
            data:'state_id='+stateID,
            success:function(html){
                $('#city').html(html);
            }
        }); 
    }else{
        $('#city').html('<option value="">Select state first</option>'); 
    }
});
  });
  </script>


<?php
//Include database configuration file
include('dbConfig.php');

//Get all country data
$query = $db->query("SELECT * FROM countries WHERE status = 1 ORDER BY country_name ASC");

//Count total number of rows
$rowCount = $query->num_rows;
?>
<select name="country" id="country" >
    <option value="">Select Country</option>
    <?php
    if($rowCount > 0){
        while($row = $query->fetch_assoc()){ 
            echo '<option value="'.$row['country_id'].'">'.$row['country_name'].'</option>';
        }
    }else{
        echo '<option value="">Country not available</option>';
    }
    ?>
</select>

<select name="state" id="state">
    <option value="">Select country first</option>
</select>

<select name="city" id="city">
    <option value="">Select state first</option>
</select>

ajaxData.php ajaxData.php

    <?php
    //Include database configuration file
    include('dbConfig.php');

if(isset($_POST["country_id"]) && !empty($_POST["country_id"])){
//Get all state data
$query = $db->query("SELECT * FROM states WHERE country_id =         ".$_POST['country_id']." AND status = 1 ORDER BY state_name ASC");

//Count total number of rows
$rowCount = $query->num_rows;

//Display states list
if($rowCount > 0){
    echo '<option value="">Select state</option>';
    while($row = $query->fetch_assoc()){ 
        echo '<option     value="'.$row['state_id'].'">'.$row['state_name'].'</option>';
    }
}else{
    echo '<option value="">State not available</option>';
    }
}

if(isset($_POST["state_id"]) && !empty($_POST["state_id"])){
//Get all city data
$query = $db->query("SELECT * FROM cities WHERE state_id =     ".$_POST['state_id']." AND status = 1 ORDER BY city_name ASC");

//Count total number of rows
$rowCount = $query->num_rows;

//Display cities list
if($rowCount > 0){
    echo '<option value="">Select city</option>';
    while($row = $query->fetch_assoc()){ 
        echo '<option     value="'.$row['city_id'].'">'.$row['city_name'].'</option>';
    }
}else{
    echo '<option value="">City not available</option>';
}
}
?>

dbConfig.php dbConfig.php

    <?php
    //db details
    $dbHost = 'localhost';
    $dbUsername = 'root';
    $dbPassword = '';
    $dbName = 'lisenme';

    //Connect and select the database
    $db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);

    if ($db->connect_error) {
    die("Connection failed: " . $db->connect_error);
    }
    ?>

Here's how you do it: 这是您的操作方式:

What you basically have to do, is add another event bound to change of 'city' selection box as such: 您基本上要做的是添加另一个绑定到“城市”选择框更改的事件,如下所示:

$(document).ready(function(){
  $('#city').on('change',function()
  {
      var cityId = $(this).val();

      window.location.href = $('#country').val() + "/" + $('#state').val() + "/" + $(this).val();
  });
});

Here's the full example: https://jsfiddle.net/4sy9nfg7/1/ 这是完整的示例: https : //jsfiddle.net/4sy9nfg7/1/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM