关闭

PHP地区四级联动(thinkphp)

3231人阅读 评论(1) 收藏 举报
分类:
<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);
    }


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:959064次
    • 积分:9217
    • 等级:
    • 排名:第2076名
    • 原创:114篇
    • 转载:251篇
    • 译文:1篇
    • 评论:116条
    最新评论