PHP

<!--         
$user = $this->auth->getUser();
$province = $this->request->post('province');
$city = $this->request->post('city');
$area = $this->request->post('area');
$user->city = "{$province}/{$city}/{$area}";

$user->save();
$this->success("保存成功!");
 -->

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>fastadmin cxselect使用后台city-picker的插件实现前台的地区联动 多级联动</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="/assets/libs/fastadmin-cxselect/js/jquery.cxselect.js"></script>
<script type="text/javascript" src="/assets/libs/fastadmin-citypicker/dist/js/city-picker.data.js"></script>
</head>
<body>


 {assign name="city" value=":explode('/',$user.city)" /}
<span  data-toggle="cxselect" data-selects="province,city,area">
      <select  name="province" class="province">
        {if(!empty($city[0]))}<option value="{$city[0]}" selected="">{$city[0]}</option>{/if}
      </select>
      <select name="city" class="city">
          {if(!empty($city[1]))}<option value="{$city[1]}" selected="">{$city[1]}</option>{/if}
      </select>
      <select name="area" class="area" >
          {if(!empty($city[2]))}<option value="{$city[2]}" selected="">{$city[2]}</option>{/if}
      </select>
      </span>

<script>
var cxcitydata=[]
for (const key in ChineseDistricts["86"]) {
    cxcitydata = cxcitydata.concat(ChineseDistricts["86"][key]);
}
cxcitydata.sort((a, b) => {
  return a.code.localeCompare(b.code);
});
for (const key in cxcitydata) {
    cxcitydata[key].name=cxcitydata[key].address;
    delete cxcitydata[key].address;
    if (ChineseDistricts[cxcitydata[key]['code']] !== undefined) {
        cxcitydata[key].children=AToB(ChineseDistricts[cxcitydata[key]['code']]);
        for (const key2 in cxcitydata[key].children) {
            if (ChineseDistricts[cxcitydata[key].children[key2]['code']] !== undefined) {
                cxcitydata[key].children[key2].children=AToB(ChineseDistricts[cxcitydata[key].children[key2]['code']]);
            }
        }

    }
}
function AToB(arr){
    var newarr=[];
    for (const key in arr) {
        newarr.push({
            code:key,
            name:arr[key]
        });
    }
    return newarr;
}
if($("[data-toggle='cxselect']").length > 0) {
    $("[data-toggle='cxselect']").cxSelect({
      data: cxcitydata,
      selects: ['province', 'city', 'area'],  // selects 为数组形式,请注意顺序
      emptyStyle: 'none',
      jsonSub: "children",
      jsonName: "name",
      jsonValue: "name",
    });
}
//多级联动end

</script>

</body>
</html>

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部