当前位置 : 主页 > 网页制作 > JQuery >

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

来源:互联网 收集:自由互联 发布时间:2021-06-15
我的数据库由国家和城市组成. 第一个案例 – 成功完成: 国家/地区列表在页面加载时在下拉框中填充 城市列表在页面加载 – 填充城市列表的下拉框中填充 基于默认国家/地区. 第二种
我的数据库由国家和城市组成.

第一个案例 – 成功完成:

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

第二种情况 – 无法做到:

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

我知道我必须使用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));
网友评论