PHP地区四级联动(thinkphp)

<html>
<head></head>
<js href="/4liandong__PUBLIC__/Js/jquery-1.5.js" />
<body οnlοad="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" οnchange="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" οnchange="setregion(1,0)">
<option name="selected" selected='selected' value="-1">请选择(省份)</option>
</select>
<select name="city" id="region_2_0" οnchange="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);
    }


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值