分享

php ajax 实现三级省市区联动

 sumi2005 2013-11-13

代码片段(5) [全屏查看所有代码]

1. [文件] diqudaima.sql ~ 642KB     下载(331)     [全屏预览]

2. [代码][PHP]代码     跳至 [2] [3] [4] [5] [全屏预览]

01public function getdiqudaima(){
02         
03            $rs = $this->db->table('diqudaima')
04                       ->field("province,city,zonename,zonecode")
05                       ->where("areaid=1 ")
06                       ->getAll();
07            $this->db->lastSql();
08            return $rs;
09        }
10        public function getq($code,$n){
11        $where = "and zonecode like '$code%'";
12            $rs = $this->db->table('diqudaima')
13                       ->field("province,city,zonename,zonecode")
14                       ->where("areaid = $n ".$where)
15                       ->getAll();
16            return $rs;
17        }

3. [代码][PHP]代码     跳至 [2] [3] [4] [5] [全屏预览]

01public function showdiqu(){
02            $test = load_model('Test');
03            $data = $test->getdiqudaima();
04            $this->output->set('data',$data);
05            $this->output->display('test.html');
06             
07        }
08        public function showcity(){
09            $test = load_model('Test');
10            $code = $this->input->getTrim('code');
11            $datacity = $test->getq($code,2);
12            echo json_encode($datacity);
13        }
14        public function showqu(){
15            $test = load_model('Test');
16            $code = $this->input->getTrim('code');
17            $datacity = $test->getq($code,3);
18            echo json_encode($datacity);
19        }

4. [代码][PHP]代码     跳至 [2] [3] [4] [5] [全屏预览]

01<script>
02    function getcity(){
03        var a = $("#pro").val();
04        $.post("?c=Test&a=showcity",{code: a},
05            function(data){
06                var obj = eval('('+data+')');
07                $("#city").empty();
08                $("#city").prepend("<option value='-1'>请选择市</option>");        
09                for(var p in obj){
10                    $("#city").append("<option value="+obj[p].zonecode+">"+obj[p].zonename+"</option>");
11                     
12                }
13            }
14        ); 
15    }
16    function getq(){
17        var a = $("#pro").val();
18        $.post("?c=Test&a=showqu",{code: a},
19            function(data){
20                var obj = eval('('+data+')');
21                $("#zone").empty();
22                $("#zone").prepend("<option value='-1'>请选择区</option>");        
23                for(var p in obj){
24                    $("#zone").append("<option value="+obj[p].zonecode+">"+obj[p].zonename+"</option>");
25                     
26                }
27            }
28        );
29    }
30</script>

5. [代码][PHP]代码     跳至 [2] [3] [4] [5] [全屏预览]

01<select name="province" id="pro" onchange="getcity()">
02    <option>请选择省</option>
03<!--{foreach $data as $v}-->
04    <option value="{$v[zonecode]}">{$v[province]}</option>
05<!--{/foreach}-->   
06</select>
07<select name="city" id="city" onchange="getq()">
08    <option>请选择市</option>
09</select>
10<select name="city" id="zone">
11    <option>请选择区</option>
12</select>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多