首頁 > 後端開發 > php教程 > 如何使用 jQuery 和 PHP 根據第一個下拉方塊中的選擇動態填入第二個下拉方塊?

如何使用 jQuery 和 PHP 根據第一個下拉方塊中的選擇動態填入第二個下拉方塊?

Patricia Arquette
發布: 2024-12-23 08:18:16
原創
887 人瀏覽過

How can I dynamically populate a second drop-down box based on the selection in a first drop-down box using jQuery and PHP?

動態填充下拉框

Web 開發中使用的一種流行技術是創建可以顯示下拉框的交互式Web 表單取決於前面下拉方塊中所選值的選項。此功能通常使用 JavaScript (jQuery) 和伺服器端腳本 (PHP) 的組合來實現。

範例程式碼說明

在此特定場景中,您是嘗試根據第一個下拉方塊中選擇的值填入第二個下拉方塊。提供的程式碼透過以下步驟完成此操作:

  1. 擷取使用者的選擇:當使用者變更第一個下拉方塊中的選擇時,jQuery 事件處理程序觸發。此處理程序使用 $(this).val() 來擷取所選選項的值。
  2. 傳送請求:使用 jQuery 的 AJAX 功能,將非同步請求傳送到伺服器端PHP 腳本,another_php_file.php。隨著請求,所選選項 sel_stud 的值會作為資料傳遞。
  3. 伺服器端處理: another_php_file.php 腳本接收發布的數據,執行必要的資料庫查詢檢索特定於所選選項的相關數據,並為更新的第二個下拉列表組裝包含HTML 標記的回應box.
  4. 更新下拉方塊:從伺服器收到的回應由AJAX成功處理函數處理。使用$('#LaDIV').html(whatigot);.

自訂範例

將第二個下拉方塊的HTML 標記注入到DOM 中

此程式碼範例示範了一個自訂實現,其中第一個下拉框用於選擇學生姓名。選擇後,第二個下拉框會顯示該學生教授的相應課程。

tester.php

<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function() {
            $('#stSelect').change(function() {
                var sel_stud = $(this).val();
                $.ajax({
                    type: "POST",
                    url: "another_php_file.php",
                    data: 'theOption=' + sel_stud,
                    success: function(whatigot) {
                        $('#LaDIV').html(whatigot);
                    }
                });
            });
        });
    </script>
</head>
<body>

    <select name="students">
登入後複製

another_php_file.php

<?php

    // Database Connection
    $server = 'localhost';
    $login = 'root';
    $pword = '';
    $dbname = 'test';
    mysql_connect($server,$login,$pword) or die($connect_error);
    mysql_select_db($dbname) or die($connect_error);

    // Get POST Data
    $selStudent = $_POST['theOption'];

    // Query Database
    $query = "SELECT * FROM `class` WHERE `teacher_id` = $selStudent";
    $result = mysql_query($query) or die('Fn Error: ' . mysql_error());
    $num_rows_returned = mysql_num_rows($result);

    // Build Response HTML
    $r = '
        <select>
    ';

    if ($num_rows_returned > 0) {
        while ($row = mysql_fetch_assoc($result)) {
            $r = $r . '<option value="' . $row['id'] . '">' . $row['name'] . '</option>';
        }
    } else {
        $r = '<p>No classes taught by this student</p>';
    }

    // Echo Response
    echo $r;
?>
登入後複製

這個客製化的解決方案自訂了第二個下拉框來顯示基於類別的針對選定的學生,為動態填充的下拉框提供靈活且用戶友好的表單體驗。

以上是如何使用 jQuery 和 PHP 根據第一個下拉方塊中的選擇動態填入第二個下拉方塊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板