三级联动前端以及接口

1、html部分

    <div class="form-group">
        <label class="col-sm-2 control-label">地区:</label>
        <div class="col-sm-5">

            <div class="col-sm-4" style="padding-left: 0;">
                <select class="form-control" name="province" id="province">
                <option>===请选择===</option>
                </select>
            </div>
            <div class="col-sm-4" style="padding: 0;">
                <select class="form-control" name="city" id="city">
                <option>===请选择===</option>
                </select>
            </div>
            <div class="col-sm-4" style="padding-right: 0;">
                <select class="form-control" name="village" id="village">
                <option>===请选择===</option>
            </select>
        </div>
        </div>
    </div>

2、js部分

    $(function() {
        //默认绑定省
        ProviceBind();
        //绑定事件
        $("#province").change( function () {
            CityBind();
        });
        $("#city").change(function () {
            VillageBind();
        });
    });
    function Bind(str) {

        $("#province").val(str);
    }
    function ProviceBind() {
        //清空下拉数据
        $("#province").html("");
        var str = "<option>==请选择===</option>";
            $.ajax({
            type: "GET",
            url: getWebBasePath()+"/api/v1/address?parentId=&myColums=Province",
            //                data: JSON.stringify({ "parentId": "", "MyColums": "Province" }),
            dataType: "JSON",
            async: false,
            success: function (data) {
            //从服务器获取数据进行绑定
            $.each(data.data, function (i, item) {
                str += "<option value=" + item.Id + ">" + item.MyTexts + "</option>";
            })
            //将数据添加到省份这个下拉框里面
            $("#province").append(str);
            },
            error: function (e) { alert(e); }
        });
    }
    function CityBind() {
        var provice = $("#province").val();
        //判断省份这个下拉框选中的值是否为空
        if (provice == "") {
        return;
        }
        $("#city").html("");
        var str = "<option>==请选择===</option>";

        $.ajax({
            type: "GET",
            url: getWebBasePath()+"/api/v1/address?parentId="+provice+"&myColums=City",
            //                data: JSON.stringify({ "parentId": provice, "MyColums": "City" }),
            dataType: "JSON",
            async: false,
            success: function (data) {
            //从服务器获取数据进行绑定
            $.each(data.data, function (i, item) {
                str += "<option value=" + item.Id + ">" + item.MyTexts + "</option>";
            })
            //将数据添加到省份这个下拉框里面
            $("#city").append(str);
            },
            error: function () { alert("Error"); }
        });

        $("#village").html("");
        var strVillage = "<option>==请选择===</option>";
        $("#village").append(strVillage);
    }
    function VillageBind() {
        var provice = $("#city").val();
        //判断市这个下拉框选中的值是否为空
        if (provice == "") {
            return;
        }
        $("#village").html("");
        var str = "<option>==请选择===</option>";
        //将市的ID拿到数据库进行查询,查询出他的下级进行绑定
        $.ajax({
            type: "GET",
            url: getWebBasePath()+"/api/v1/address?parentId="+provice+"&myColums=Village",
            dataType: "JSON",
            async: false,
            success: function (data) {
            //从服务器获取数据进行绑定
            $.each(data.data, function (i, item) {
                str += "<option value=" + item.Id + ">" + item.MyTexts + "</option>";
            })
            //将数据添加到省份这个下拉框里面
            $("#village").append(str);
            },
            error: function () {
                alert("Error");
            }
        });
    }

3、接口部分

    //controller
    @RequestMapping(value = "/address", method = { RequestMethod.GET })
    @ResponseBody
    public Output getAddress(@RequestParam("parentId") String parentId,@RequestParam("myColums") String myColums) throws Exception {
        return Result.success(biMATRiXAddressService.findAddress(parentId,myColums));
    }
    //dao
    public List<Map<String, Object>> findAddress(String parentId, String myColums) {
        String sql = "SELECT * FROM bimatrix_address WHERE 1=1 and MyTables='SysPerson'and MyColums=:myColums and ParentId=:parentId  ";

        return session().createSQLQuery(sql).setString("parentId",parentId).setString("myColums",myColums)
        .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
    }

    //数据表结构
    CREATE TABLE bimatrix_address(
        `Id` varchar(36) NOT NULL,
        `MyTexts` varchar(200) NOT NULL,
        `ParentId` varchar(36) NULL,
        `MyTables` varchar(200) NULL,
        `MyColums` varchar(200) NULL,
        `Sort` int NULL,
        `Remark` varchar(4000) NULL,
        `CreateTime` date NULL,
        `CreatePerson` varchar(200) NULL,
        `UpdateTime` date NULL,
        `UpdatePerson` varchar(200) NULL
    )

4、省市县数据下载 
    http://download.csdn.net/download/leesmn/10265485
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leesmn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值