我的数据库由国家和城市组成. 第一个案例 – 成功完成: 国家/地区列表在页面加载时在下拉框中填充 城市列表在页面加载 – 填充城市列表的下拉框中填充 基于默认国家/地区. 第二种
第一个案例 – 成功完成:
>国家/地区列表在页面加载时在下拉框中填充
>城市列表在页面加载 – 填充城市列表的下拉框中填充
基于默认国家/地区.
第二种情况 – 无法做到:
>用户更改国家/地区
>城市列表将根据所选国家/地区进行更改
我知道我必须使用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<obj.length;c++) { var option = document.createElement('option'); option.value = obj[c]; option.text = obj[c]; ddl.appendChild(option); } }, error:function(jxhr){ alert(jxhr.responseText); } }); });
在你的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));