如何使用jQuery在PHP中创建级联下拉列表

我的数据库由国家和城市组成。

第一个案例 – 成功完成:

  1. 国家/地区列表在页面加载时在下拉框中填充
  2. 城市列表在页面加载的下拉框中填充 – 填充的城市列表基于默认国家/地区。

第二种情况 – 无法做到:

  1. 用户更改国家/地
  2. 城市列表将根据所选国家/地区进行更改

我知道我必须使用jQuery / Ajax。 我试过,但由于缺乏编程经验,我无法解决我的问题。 我的列表是从数据库而不是XML中获取的。 我只需要一个快速的解决方案,我需要保持简单和愚蠢。

我使用常规的PHP编码风格,而不是面向对象。

我该怎么做? 任何相关的资源将不胜感激。

$("#country").change(function(){ $('#city').find('option').remove().end(); //clear the city ddl var country = $(this).find("option:selected").text(); alert(country); //do the ajax call $.ajax({ url:'getCity.php' type:'GET', data:{city:country}, dataType:'json', cache:false, success:function(data){ data=JSON.parse(data); //no need if dataType is set to json var ddl = document.getElementById('city'); for(var c=0;c 

在你的getCity.php中

 $country = $_GET['city']; //do the db query here $query = "your query"; $result = mysql_query($query); $temp = array(); while ($row = mysql_fetch_assoc($result)) { if(empty($temp)) { $temp=array($row['city']); } else { array_push($temp,$row['city']); } } echo (json_encode($temp)); 

您可以通过使用jquery的.change()方法更改选择框值来进行ajax调用。 api.jquery.com/change/

写数据而不是obj。 它工作得非常好