php - 如何根据父下拉列表选择动态选择子下拉列表

标签 php jquery mysql ajax

我一直在努力让它发挥作用,但没有成功。研究了很多教程和视频,但仍然不起作用。

我的数据库中有一个区域表,其中 region_id(PK)region_name 作为列。 我还使用 center_id(PK)center_nameregion_id(FK)

居中表

region_id 是中心表上的外键

我有从 DB 和 Ajax.php 获取数据的 register.php 文件

只有区域的选择下拉菜单有效。所选区域下的中心不会显示在中心选择下拉列表中。

注册.php

<?php
session_start();
require_once $_SERVER['DOCUMENT_ROOT'] . '/soap/includes/server.php';
?>

<html>
<body>
<div class="p-t-31 p-b-9">
                    <span class="txt1">
                        Region 
                    </span>
                </div>
                <div class="wrap-input100 validate-input" data-validate 
 = "Region is required">
                <span class="focus-input100"></span>

                    <select class='input100' name='region'>
                    <option value disabled selected>Select 
Region</option>
                        <?php  
                            $sql = mysqli_query($con,"SELECT * FROM 
region");
                                while($row=mysqli_fetch_array($sql))
                                {
                            echo '<option 
value="'.$row['region_id'].'">'.$row['region_name'].'</option>';
                                } 
                        ?>
                    </select>


                </div>

                <br>
                <span class="error"><?php echo $regionError;?></span>


                <div class="p-t-31 p-b-9">
                    <span class="txt1">
                        Center 
                    </span>
                </div>
                <div class="wrap-input100 validate-input" data-validate 
= "Center is required">
                <span class="focus-input100"></span>
                    <select class='input100' name='center'>

                                <option value="">Select Center</option>
                    </select>
                <script 

src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"> 
   </script>

                    <script type="text/javascript">
                        $(document).ready(function()
                            {
                        $(".region").change(function()
                            {
                        var region_id=$(this).val();
                        var post_id = 'id='+ region_id;

                        $.ajax
                            ({
                            type: "POST",
                            url: "ajax.php",
                            data: post_id,
                            cache: false,
                        success: function(centers)
                            {
                                $(".center").html(centers);
                            } 
                        });

                        });
                        });
                    </script>
                </div>

                <br>
                <span class="error"><?php echo $centerError;?></span>

Ajax.php

<?php
  require_once $_SERVER['DOCUMENT_ROOT'] . '/soap/includes/server.php';
   if($_POST['id']){
   $id=$_POST['id'];
   if($id==0){
       echo "<option>Select Center</option>";
   }else{
       $sql = mysqli_query($con,"SELECT * FROM center WHERE 
       region_id='$id'");
   while($row = mysqli_fetch_array($sql)){
    echo '<option 
    value="'.$row['center_id'].'">'.$row['center_name'].'</option>';
       }
    }
  }
 ?>

 </body>
 </html>

最佳答案

谢谢大家。

你指出了我的错误。我刚刚将 class='region' 和 'center' 添加到两个选择字段上的 'input100' 类。

谢谢你帮我。我很欣赏。

关于php - 如何根据父下拉列表选择动态选择子下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52271058/

相关文章:

php - 生成表唯一字符串

javascript - $.ajax 调用无法识别其 url 中的动态变量

java - Jquery购物车插件: Implementing Session Management

jquery - 我的代码行之间的空间 - JQuery 和 CSS

mysql - varchar(50) 数据类型包含格式为 dd/mm/yyyy 00 :00:00. 000 的时间戳,现在将其转换为 MySQL 时间戳

返回语法错误的 PHP SQL 插入语句,不确定它可能是什么

php - Symfony sql 获取查询的子和

php - mysql_fetch_assoc 查询中的 COUNT、IF

php - 如何在 magento 查询中获取产品名称?

php - 构建 PHP 应用程序,对设计模式感到困惑