/app/controller/Area.php
<?php
namespace app\api\controller;
use app\common\controller\Api;
use think\Db;
/**
* Area
*/
class Area extends Api
{
// 无需登录的接口,*表示全部
protected $noNeedLogin = '*';
// 无需鉴权的接口,*表示全部
protected $noNeedRight = [];
/**
* 读取省市区数据,联动列表
*/
public function area()
{
$params = $this->request->get("row/a");
if (!empty($params)) {
$province = isset($params['province']) ? $params['province'] : null;
$city = isset($params['city']) ? $params['city'] : null;
} else {
$province = $this->request->get('province');
$city = $this->request->get('city');
}
$where = ['pid' => 0, 'level' => 1];
$provincelist = null;
if ($province !== null) {
$where['pid'] = $province;
$where['level'] = 2;
if ($city !== null) {
$where['pid'] = $city;
$where['level'] = 3;
}
}
$provincelist = Db::name('area')->where($where)->field('id as value,name')->select();
$this->success('获取成功',$provincelist);
}
}
html
<script type="text/javascript" src="/assets/libs/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="/assets/libs/fastadmin-cxselect/js/jquery.cxselect.js"></script>
{assign name="area" value=":db('area')->where('name','in',explode('/',$user.city))->column('id','name')" /}
{assign name="city" value=":explode('/',$user.city)" /}
<span data-toggle="cxselect" data-selects="province,city,area">
<select name="province" class="province" data-url="/api/area/area.html">
{if(!empty($city[0]))}<option value="{$area[$city[0]]}" selected="">{$city[0]}</option>{/if}
</select>
<select name="city" class="city" data-url="/api/area/area.html">
{if(!empty($city[1]))}<option value="{$area[$city[1]]}" selected="">{$city[1]}</option>{/if}
</select>
<select name="area" class="area" data-url="/api/area/area.html">
{if(!empty($city[2]))}<option value="{$area[$city[2]]}" selected="">{$city[2]}</option>{/if}
</select>
</span>
jsif ($("[data-toggle='cxselect']").length > 0) {
$.cxSelect.defaults.jsonName = 'name';
$.cxSelect.defaults.jsonValue = 'value';
$.cxSelect.defaults.jsonSpace = 'data';
$("[data-toggle='cxselect']").cxSelect();
}
php
$province = $this->request->post('province');
$city = $this->request->post('city');
$area = $this->request->post('area');
$province = db("area")->where("id",$province)->value('name');
$city = db("area")->where("id",$city)->value('name');
$area = db("area")->where("id",$area)->value('name');
$riku="{$province}/{$city}/{$area}";
发表评论 取消回复