微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用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<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));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐