如何使用jQuery在PHP中创建级联下拉列表
我的数据库由国家和城市组成。
第一个案例 – 成功完成:
- 国家/地区列表在页面加载时在下拉框中填充
- 城市列表在页面加载的下拉框中填充 – 填充的城市列表基于默认国家/地区。
第二种情况 – 无法做到:
- 用户更改国家/地
- 城市列表将根据所选国家/地区进行更改
我知道我必须使用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。 它工作得非常好