Heim > Backend-Entwicklung > PHP-Tutorial > Wie erstelle ich dynamisch gefüllte abhängige Dropdown-Boxen mit PHP und AJAX?

Wie erstelle ich dynamisch gefüllte abhängige Dropdown-Boxen mit PHP und AJAX?

Mary-Kate Olsen
Freigeben: 2024-12-11 00:04:10
Original
498 Leute haben es durchsucht

How to Create Dynamically Populated Dependent Drop-Down Boxes Using PHP and AJAX?

Dynamisch gefüllte Dropdown-Felder

In diesem Beispiel möchten wir ein dynamisches Dropdown-Feld erstellen, in dem die Optionen im zweiten Dropdown-Feld enthalten sind Feld hängen von der Auswahl ab, die im ersten Dropdown-Feld getroffen wurde.

Hier ist eine modifizierte Version Ihres Code:

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">
Nach dem Login kopieren

another_php_file.php

<?php
$server = 'localhost'; //localhost is the usual name of the server if apache/Linux.
$login = 'root';
$pword = '';
$dbname = 'test';
mysql_connect($server,$login,$pword) or die($connect_error); //or die(mysql_error());
mysql_select_db($dbname) or die($connect_error);

//Get value posted in by ajax
$sel_stud = $_POST['theOption'];

//Run DB query
if($sel_stud == "Electronics"){
    $query = "SELECT * FROM `category` WHERE `master` = 1";
}elseif($sel_stud == "Clothes"){
    $query = "SELECT * FROM `category` WHERE `master` = 2";
}else{
    $query = "SELECT * FROM `category` WHERE `master` = 3";
}
$result = mysql_query($query) or die('Fn another_php_file.php ERROR: ' . mysql_error());
$num_rows_returned = mysql_num_rows($result);

//Prepare response html markup
$r = '
        
        <select>
';

//Parse mysql results and create response string. Response can be an html table, a full page, or just a few characters
if ($num_rows_returned > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        $r = $r . '<option value="' .$row['id']. '">' . $row['name'] . '</option>';
    }
} else {
    $r = '<p>No Items</p>';
}

echo $r;
Nach dem Login kopieren

In diesem Beispiel die Optionen im zweiten Dropdown-Feld werden dynamisch basierend auf dem im ersten Dropdown-Feld ausgewählten Wert ausgefüllt. Die Kategorietabelle wird so geändert, dass sie ein Masterfeld enthält, um die Optionen im zweiten Dropdown-Feld zu gruppieren.

Das obige ist der detaillierte Inhalt vonWie erstelle ich dynamisch gefüllte abhängige Dropdown-Boxen mit PHP und AJAX?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage