PHP地区四级联动(thinkphp)

转载 2013年12月01日 20:46:25
<html>
<head></head>
<js href="/4liandong__PUBLIC__/Js/jquery-1.5.js" />
<body onload="region_default();">
<script type="text/javascript">
  //设置默认,页面加载时恢复默认选项。
function region_default() {
    $("option[value='-1']").attr('selected','selected');
  }
  function setregion(num,address_id) {
     var next=num+1;
     $.ajax({
        type:'POST',
        //设置json格式,接收返回数组。
        dataType:'json',
        url:'__APP__/index/get_region/',
        //ajax传递当前选项的value值,也就是当前的region_id。
        data:'region_id='+$('#region_'+num+'_'+address_id).val(),
        success:function(msg) {
        //如果返回值不为空则执行。
if (msg!=null) {
            var option_str='';
            //循环书写下一个select中要添加的内容。并添加name标记。
for (var i=0; i<msg.length; i++) {
                 option_str+='<option name="region_'+next+'"value="'+msg[i].region_id+'">'+msg[i].region_name+'</option>';
            }
            //删除下一个select中标记name为next的内容。
            $("option[name='region_"+next+"']").remove();
            //向下一个select中添加书写好的内容。
            $('#region_'+next+'_'+address_id).append(option_str);
           }else{
                //如果返回值为空,则移除所有带标记的option,恢复默认选项。
for (var i=next; i<=4; i++) {
                 $("option[name='region_"+i+"']").remove();   
                }
           }
        }
     
     })
  }
</script>
<form action="__APP__/index/get_data/" method="post">
<select name="courtry" id="region_0_0" onchange="setregion(0,0)">
<option name="selected" selected='selected' value="-1">请选择(国家)</option>
<foreach name="list" item="v">
<option value="<!--{$v.region_id}-->"><!--{$v.region_name}--></option>
</foreach>
</select>
<select name="province" id="region_1_0" onchange="setregion(1,0)">
<option name="selected" selected='selected' value="-1">请选择(省份)</option>
</select>
<select name="city" id="region_2_0" onchange="setregion(2,0)">
<option name="selected" selected='selected' value="-1">请选择(城市)</option>
</select>
<select name="district" id="region_3_0">
<option name="selected" selected='selected' value="-1">请选择(县)</option>
</select>
<input type="submit" value="提交">
</body>
</html>
以下是ThinkPHP写的获取数据的方法
public function get_region() {
       $region_id=$_POST['region_id'];
       $region=D('region');
       $condition['parent_id']=$region_id;
       $list=$region->where($condition)->select();
       echo json_encode($list);
    }


相关文章推荐

利用js+php的技术,实现全国地址多级联动的功能

项目开发已经快到收尾的阶段,但还有几个功能还没有完成,其中有一个功能,让我纠结了几天——全国省份、城市、区/县和街道/镇的显示。 看到这个需求的时候,第一反应是这只不过是个简单的“多级联动”的问题,...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

利用php+jQuery+ajax实现汽车车型四级联动下拉菜单

今天再向大家展示一个php、jQuery、ajax的实例。呵呵~~本身这个实例没有多少技术含量,哈哈~~有技术含量的是这个车型库的数据~~嘿嘿~~想当初也采集了好长时间才搞定的呢~ 经常来的朋友应该还...
  • ybhjx
  • ybhjx
  • 2016年06月02日 01:33
  • 2726

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

ThinkPhP。 异步实现地区三级联动

控制器区

Thinkphp实现省市区三级联动

一张表实现省市区三级联动【3409条数据】1 . [PHP]代码public function index(){ $province = M('Tree')->where ( array('p...
  • loveinc
  • loveinc
  • 2017年03月30日 13:15
  • 748

地区省份市区四级联动

  • 2015年07月30日 16:03
  • 16KB
  • 下载

php+vue.js 实现省市县乡的四级联动(ajax加载)

(注:需要SQL的朋友请在评论区留下email) 除了引入vue.js还需要引入vue的一个ajax库:vue-resource html: [html] view plain ...
  • php_lzr
  • php_lzr
  • 2017年06月13日 10:49
  • 556
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP地区四级联动(thinkphp)
举报原因:
原因补充:

(最多只允许输入30个字)