根据先前的选择填充下拉列表

时间:2011-08-26 11:17:34

标签: php jquery mysql ajax

我的MySQL表看起来像那样

区域表

id     |   region
-------------------
1      |   Region1
2      |   Region2

...

和学校表

id     |   school
-------------------
1      |   schno1
1      |   schno5
1      |   schno6
2      |   scho120

我的注册表单中有多个选择(下拉菜单)菜单。区域下拉列表看起来像

<select name="region">
<option value="0">Select the region</option>
<?php
$result=$db->query("SELECT * FROM regions");
while($row=$result->fetch_array(MYSQLI_BOTH))
{
    echo '<option value="'.$row[0].'">'.$row[1].'</option>';
    }
?>
</select>

我想要做的是,获取“地区”ID,然后根据动态“学校”表格中的id(之前选择的ID)填写学校下拉菜单。我是js的新手。请帮我修理一下。 Thx提前。

2 个答案:

答案 0 :(得分:2)

1)利用jQuery更改事件(绑定到区域选择)
2)调用您的php脚本,您应该根据区域ID提供学校数据 3)将数据附加到学校选择

www - http://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax/

上有很多例子

答案 1 :(得分:0)

$region = mysql_real_escape_string($_POST['region']);
$query = "SELECT s.school FROM regions r 
          INNER JOIN schools s ON (s.region_id = r.id) 
          WHERE r.region LIKE '$region' ";  <<-- LIKE is case insensitive, '=' is NOT 
$result = $db->query($query);
if not($result) then { die("error"); }
while($row=$result->fetch_array(MYSQLI_BOTH))
{
  echo '<option value="'.$row[0].'">'.$row[1].'</option>';
}