jquery简单的三级联动

1、引入js(注意此方法依赖于jquery)

<script src="jquery.city.select.js"></script>  //自动的三级联动
<script src="area_data.js"></script> // 三级联动所需要的数据

2、进行对select操作( 注意id必须填写 并且和下方js相对应)

<div class="sel_city">
    <ul>
        <li class="pc_sel_city">
            <select id="s_province" name="s_province" class="changeaddress"></select>&nbsp;&nbsp;
            <select id="s_city" name="s_city" class="changeaddress"></select>&nbsp;&nbsp;
            <select id="s_county" name="s_county" class="changeaddress"></select>
        </li>
    </ul>
</div>

3、插件调用代码

<script type="text/javascript">
    //插件调用代码
    $(function () {
        $('#s_province, #s_city, #s_county').citylist({
            data: area_data,
            children: ['citys', 'areas'],
            selected: ['', '', '']  // 赋初值 省 市 县
        });
    });
</script>

4、拓展(将引用的城市选择列表进行同步数据库)

		// 将获取到的数据进行写入到 area_data.js 中
		$data = $this->getAreaData(100000);
        $myfile = $_SERVER['DOCUMENT_ROOT'] . '/area_data.js'; // 路径自己对应
        file_put_contents($myfile, 'var area_data=' . json_encode($data));
/*
     * 递归获取三级分类
     * */
    public function getAreaData($pid = 100000)
    {
        $this->user_info();
        $info = Areas::where("parent_id=" . $pid)->select();
        $data = array();
        if (!empty($info)) {
            foreach ($info as $k => $v) {
                $data[$k]['id'] = $v['area_id'];
                $data[$k]['name'] = $v['area_name'];
                $child = $this->getAreaData($v['area_id']);
                if (!empty($child)) {
                    if ($v['area_type'] == 1) {
                        $data[$k]['citys'] = $child;
                    } else {
                        $data[$k]['areas'] = $child;
                    }
                }
            }
        }
        return $data;

    }

5、js文件和数据库的文件都放到百度网盘中了 自己下载下吧!!!

  • 链接:https://pan.baidu.com/s/1vEI3H5z0HInrvrX5PBv4pQ
  • 提取码:tw02
  • 复制这段内容后打开百度网盘手机App,操作更方便哦

这是第一次写博客 仅供参考 不喜勿碰 侵权联系我会主动删除的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值