Thinkphp 三级联动
数据库部分
请看本文资源
后台部分
这边我将会用全新的控制器
命名为SjController
这里需要使用我提供的伪静态文件
伪静态文件传送门
<?php
namespace Home\Controller;
use Think\Controller;
class SjController extends Controller {
//获取省和直辖市
public function index(){
$listObj = M('region');
$whereprovince['top_parentid'] = 0;
$whereprovince['status'] = 1;
$listprovince = $listObj->where($whereprovince)->select();
$bottom_list = M('bottom_list')->where(array('status'=> 1))->order('sort')->select();
$this->assign("province_list",$listprovince);
$this->assign(array(
'bottom_list' => $bottom_list,
));
$this->display();
}
//获取地级市
public function get_citys(){
$listObj = M('region');
$where['top_parentid'] = I('province_id');
$where['level'] = 2;
$list = $listObj->where($where)->select();
$data=array('status'=>0,'city'=>$list);
header("Content-type: application/json");
exit(json_encode($data));
}
//获取地级县
public function get_district(){
$listObj = M('region');
$where['parent_id'] = I('city_id');
$where['level'] = 3;
$list = $listObj->where($where)->select();
$data=array('status'=>0,'district'=>$list);
header("Content-type: application/json");
exit(json_encode($data));
}
}
html部分ajax
<script>
$("#province_id").change(function(){
var province_id=$(this).val();
$.ajax({
url:'/Agent/get_citys/',
Type:"POST",
data:"province_id="+province_id,
dataType:"json",
success:function(data){
var city = data.city;
var option=$("<option></option>");
$(option).val("0");
$(option).html("请选择");
var option1=$("<option></option>");
$(option1).val("0");
$(option1).html("请选择");
$("#city_id").html(option);
$("#district_id").html(option1);
for(var i in city){
var option=$("<option></option>");
$(option).val(city[i]['region_id']);
$(option).html(city[i]['region_name']);
$("#city_id").append(option);
}
}
});
});
</script>
<script>
$("#city_id").change(function(){
var city_id=$(this).val();
$.ajax({
url:'/Agent/get_district',
Type:"POST",
data:"city_id="+city_id,
dataType:"json",
success:function(data){
var district = data.district;
var option=$("<option></option>");
$(option).val("0");
$(option).html("请选择");
$("#district_id").html(option);
for(var i in district){
var option=$("<option></option>");
$(option).val(district[i]['region_id']);
$(option).html(district[i]['region_name']);
$("#district_id").append(option);
}
}
});
});
</script>