bootstrap实现省市区三级联动(-亲测可用!)

bootstrap三级联动很常用,必备

html页面

<!--  省市区三级联动 begin -->
        <div class="form-group">
            <label class="col-sm-2 control-label"><i>*</i>所在地址</label>
            <div class="col-sm-3">
                <select name="input_province" id="input_province" class="form-control" >
                    <option value="">--请选择--</option>
                </select>
            </div>
            <div class="col-sm-3">
                <select name="input_city" id="input_city" class="form-control">
                    <option value=""></option>
                </select>
            </div>
            <div class="col-sm-3">
                <select name="input_area" id="input_area" class="form-control">
                    <option value=""></option>
                </select>
            </div>
        </div>

        <!-- 省市区三级联动  end-->

js部分

<!-- 三级联动 begin -->
    <script type="text/javascript" src="/js/plugins/address/address.js"></script>
    <script >
        $(function () {
            var html = "";
            $("#input_city").append(html);
            $("#input_area").append(html);
            $.each(pdata,function(idx,item){
                if (parseInt(item.level) == 0) {
                    html += "<option value="+item.code+" >"+ item.names +"</option> ";
                }
            });
            $("#input_province").append(html);

            $("#input_province").change(function(){
                if ($(this).val() == "") return;
                $("#input_city option").remove();
                $("#input_area option").remove();
                //var code = $(this).find("option:selected").attr("exid");
                var code = $(this).find("option:selected").val();
                code = code.substring(0,2);
                var html = "<option value=''>--请选择--</option>";
                $("#input_area option").append(html);
                $.each(pdata,function(idx,item){
                    if (parseInt(item.level) == 1 && code == item.code.substring(0,2)) {
                        html +="<option value="+item.code+" >"+ item.names +"</option> ";
                    }
                });
                $("#input_city ").append(html);
            });

            $("#input_city").change(function(){
                if ($(this).val() == "") return;
                $("#input_area option").remove();
                var code = $(this).find("option:selected").val();
                code = code.substring(0,4);
                var html = "<option value=''>--请选择--</option>";
                $.each(pdata,function(idx,item){
                    if (parseInt(item.level) == 2 && code == item.code.substring(0,4)) {
                        html +="<option value="+item.code+" >"+ item.names +"</option> ";
                    }
                });
                $("#input_area ").append(html);
            });
        });
    </script>
    <!-- 三级联动 end -->

我把js文件给上传上来了,点击这里:)
https://download.csdn.net/download/shunzi1046/10362881

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
对于Bootstrap省市区三级联动,你可以使用Bootstrap框架结合JavaScript来实现。以下是一个简单的示例: HTML部分: ```html <div class="form-group"> <label for="province">省份:</label> <select class="form-control" id="province"> <option value="">请选择</option> <!-- 这里可以根据实际需要动态生成省份选项 --> <option value="北京">北京</option> <option value="上海">上海</option> <option value="广东">广东</option> </select> </div> <div class="form-group"> <label for="city">城市:</label> <select class="form-control" id="city"> <option value="">请选择</option> <!-- 这里的选项会根据选择的省份动态生成 --> </select> </div> <div class="form-group"> <label for="district">区县:</label> <select class="form-control" id="district"> <option value="">请选择</option> <!-- 这里的选项会根据选择的城市动态生成 --> </select> </div> ``` JavaScript部分: ```javascript $(document).ready(function() { // 省份数据 var provinceData = [ { name: '北京', cities: ['北京市'] }, { name: '上海', cities: ['上海市'] }, { name: '广东', cities: ['广州市', '深圳市', '东莞市'] } // 其他省份数据... ]; // 城市数据 var cityData = { '北京': ['北京市'], '上海': ['上海市'], '广东': ['广州市', '深圳市', '东莞市'] // 其他省份城市数据... }; // 初始化省份选项 var provinceSelect = $('#province'); for (var i = 0; i < provinceData.length; i++) { provinceSelect.append('<option value="' + provinceData[i].name + '">' + provinceData[i].name + '</option>'); } // 省份选择改变时动态更新城市选项 provinceSelect.change(function() { var selectedProvince = $(this).val(); var citySelect = $('#city'); var districtSelect = $('#district'); // 清空城市和区县选项 citySelect.empty(); districtSelect.empty(); // 根据选择的省份添加对应的城市选项 if (selectedProvince) { var cities = cityData[selectedProvince]; for (var j = 0; j < cities.length; j++) { citySelect.append('<option value="' + cities[j] + '">' + cities[j] + '</option>'); } } }); // 城市选择改变时动态更新区县选项 $('#city').change(function() { var selectedCity = $(this).val(); var districtSelect = $('#district'); // 清空区县选项 districtSelect.empty(); // 根据选择的城市添加对应的区县选项 // 可以根据实际情况使用Ajax请求获取区县数据 }); }); ``` 请注意,这只是一个简单的示例,省份、城市和区县的数据可以根据实际情况进行修改和扩展。你可以根据自己的需求调整代码以适应你的项目。希望对你有所帮助!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值