簡體   English   中英

從多個下拉菜單中檢索和顯示文本,而無需重新加載頁面

[英]Retrieve and display text from multiple dropdown menus without reloading page

我正在學習PHP,Jquery,Ajax和其他Web開發語言,並在這個問題上持續數小時。

我有兩個下拉框:

  • 一個顯示國家列表(通過數據庫查詢)
  • 一個顯示與所選國家/地區相關的城市列表(也通過數據庫查詢)

無論如何,我希望能夠檢索兩個菜單框的文本,並在單擊按鈕的同時單擊同一頁面上的文本框中的文本框,以在進一步的數據庫查詢中使用它們,而無需重新加載頁面

我已經將JQuery和Ajax用於動態菜單,因此我對此任務需要什么有所了解。 這是相關頁面的代碼:

    <body>
    <div class = "country">
        <label>Select a Country: </label>
        <select name="country" onchange="getId(this.value);">
            <option value = "">Select Country</option>

            <?php
                $query = "SELECT DISTINCT(Country) AS Country FROM Locations ORDER BY Country ASC;";
                $results = mysqli_query($con, $query);

                foreach ($results as $country) {
                ?>
            <option value = "<?php echo $country['Country']; ?>"><?php echo 
   $country['Country'] ?></option>
                <?php
                    }
                ?>
            </select>   
        </div>  
</br>

    <div class="city">
        <label>Select a City: </label>
        <select name="city" id="cityList">
            <option value="">Select a city</option>
        </select>
    </div>

<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
    <script>
        function getId(value){
            $.ajax({
                type: "POST",
                url: "getdata.php",
                data: "Country="+value,
                success: function(data){
                    $("#cityList").html(data);          
                }
            });
        }
    </script>
   <button id="button">Go</button>

document.getElementById("button").onclick = function(){
document.getElementById("textbox").innerHTML = "<?php $query = mysqli_query($con, "SELECT * FROM Locations WHERE Country='dropdown text' AND City='dropdown text'");

while($results = mysqli_fetch_array($query)){

    echo "Name: " . "$results['City']" . "is in" . "$results['Country']" "</option>";
}
  ?>";
}
    </script>
</body>

到目前為止,我一直在使用的PHP文件尚不完整,因為我不確定如何回顯結果,因為我希望它最終出現在主頁上的文本框中。 我的PHP如下:

<?php
    include_once "connection.php";
if(!empty($_POST['Country'])||($_POST['City'])){
    $country = $_POST['Country'];
    $city = "SELECT * FROM Locations WHERE Country = '$Country' AND City = '$city'";
    $results = mysqli_query($con, $query);

    foreach ($results as $city) {
    ?>
    <option value = "<?php echo $city['Country']; ?>"><?php echo $city['City'] ?></option>
    <?php
    }
}
?>

任何建議或意見,將不勝感激。

 <?php include_once "connection.php"; if(!empty($_POST['Country'])){ $country = $_POST['Country']; $city = "SELECT * FROM Locations WHERE Country = '$Country' "; $results = mysqli_query($con, $query); foreach ($results as $city) { ?> <option value = "<?php echo $city['City']; ?>"><?php echo $city['City'] ?></option> <?php } } ?> 

您只發布“國家”,而必須從帖子中獲取“國家”。 這個城市不是來自郵政。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM