Maison > base de données > tutoriel mysql > Comment remplir dynamiquement une liste déroulante dépendante à l'aide de jQuery, AJAX, PHP et MySQL ?

Comment remplir dynamiquement une liste déroulante dépendante à l'aide de jQuery, AJAX, PHP et MySQL ?

DDD
Libérer: 2024-11-16 18:10:04
original
1066 Les gens l'ont consulté

How to Dynamically Populate a Dependent Dropdown List Using jQuery, AJAX, PHP, and MySQL?

Population dynamique de listes déroulantes à l'aide de jQuery/AJAX et PHP/MySQL

Dans cet exemple, nous visons à créer un ensemble de deux listes déroulantes, où les options de la deuxième liste déroulante sont renseignés dynamiquement en fonction de la sélection dans la première liste déroulante.

jQuery/AJAX Script :

$(function() {
  $("#item_1").change(function() {
    var group_id = $(this).val();

    $.ajax({
      type: "POST",
      url: "../../db/groups.php?item_1_id=" + group_id,
      dataType: "json",
      success: function(data) {
        // Clear previous options in the second dropdown
        $('select#item_2').empty();
        $('select#item_2').append('<option value="0">Select Option</option>');

        // Populate the second dropdown
        $.each(data.subjects, function(i, val) {
          $('select#item_2').append('<option value="' + val.id + '">' + val.name + '</option>');
        });
        $('select#item_2').focus();
      },
      beforeSend: function() {
        $('select#item_2').empty();
        $('select#item_2').append('<option value="0">Loading...</option>');
      },
      error: function() {
        $('select#item_2').attr('disabled', true);
        $('select#item_2').empty();
        $('select#item_2').append('<option value="0">No Options</option>');
      }
    });
  });
});
Copier après la connexion

Script PHP :

<?php
require_once('../includes/connect.php');

$item_1_id = $_GET['item_1_id'];

$dbh = get_org_dbh($org_id);

$return_arr = array();

$sth = $dbh->query("SELECT id, name, level 
                     FROM groups
                     WHERE level = '2'
                     AND parent = $item_1_id
                     GROUP by name
                     ORDER BY name");

while ($row = $sth->fetch()) {
  $row_array = array("name" => $row['name'], "id" => $row['id']);
  array_push($return_arr, $row_array);
}

echo json_encode($return_arr);
?>
Copier après la connexion

Marquage HTML :

<label>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal