省市区县三级联动实现

简单功能以备后用!!!

                <tr>
                <td align="right"><label class="Validform_label"> 所在省:
                </label></td>
                <td class="value"><select name="province" id="province"
                    onchange="proget(this.value)">
                        <option value="">-- 请选择 --</option>
                        <c:forEach var="pro" items="${provinceList}">
                            <option
                                <c:if test="${supplier.province eq pro.provinceid}"> selected="selected" </c:if>
                                value="${pro.provinceid }"><t:mutiLang
                                    langKey="${pro.province}" /></option>
                        </c:forEach>
                </select></td>
                </tr>
                <tr>
                <td align="right"><label class="Validform_label"> 所在市:
                </label></td>
                <td class="value"><select name="city" id="city"
                    onchange="cityget(this.value)">
                </select></td>
                </tr>
                <tr>
                <td align="right"><label class="Validform_label"> 所在区县:
                </label></td>
                <td class="value"><select name="area" id="area">
                </select></td>
                </tr>



//得到从控制器传来的数据
    $(function() {
        var province = '${supplier.province}';
        proget(province);
        var cityId = '${supplier.city}';
        cityget(cityId);
    });
    //级联市
    function proget(id) {
        $
                .ajax({
                    url : "addressController.do?cityget",
                    data : {
                        id : id
                    },
                    type : 'POST',
                    error : function() {// 请求失败处理函数
                    },
                    success : function(data) {
                        
                        var json = eval('(' + data + ')');
                        var cityId = $('#cityId').val();
                        var htmlV = "<option value=''>--请选择 --</option>";
                        var htmlV2 = "<option value=''>--请选择 --</option>";
                        for (var i = 0; i < json.length; i++) {
                            
                            if (json[i].cityid == cityId) {
                                htmlV = htmlV
                                        + "<option selected='selected' value='"+json[i].cityid+"'><t:mutiLang langKey='"+json[i].city+"' /></option>";
                            } else {
                                htmlV = htmlV
                                        + "<option value='"+json[i].cityid+"'><t:mutiLang langKey='"+json[i].city+"' /></option>";
                            }

                        }
                        $("#city").html(htmlV);
                        $("#area").html(htmlV2);
                    }
                });
    }
    //级联区县
    function cityget(id) {
    
        $
                .ajax({
                    url : "addressController.do?areaget",
                    data : {
                        id : id
                    },
                    type : 'POST',
                    error : function() {// 请求失败处理函数
                    },
                    success : function(data) {
                        var areaId = $('#areaId').val();
                        var json = eval('(' + data + ')');
                        //    areaId
                        var htmlV = "<option value=''>--请选择 --</option>";
                        for (var i = 0; i < json.length; i++) {
                            if (json[i].areaid == areaId) {
                                htmlV = htmlV
                                        + "<option selected='selected' value='"+json[i].areaid+"'><t:mutiLang langKey='"+json[i].area+"' /></option>";
                            } else {
                                htmlV = htmlV
                                        + "<option value='"+json[i].areaid+"'><t:mutiLang langKey='"+json[i].area+"' /></option>";
                            }

                        }
                        $("#area").html(htmlV);
                    }
                });
    }

 

转载于:https://www.cnblogs.com/libf/p/7505245.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
function init(obj_1,val_1,obj_2,val_2,obj_3,val_3){ //定义默认数据 var ar = ["请选择省份","请选择城市","请选择区"]; var pindex=0; var cindex=0; //初始化 $("<option>"+ar[0]+"</option>").appendTo($("#"+obj_1)); $("<option>"+ar[1]+"</option>").appendTo($("#"+obj_2)); $("<option>"+ar[2]+"</option>").appendTo($("#"+obj_3)); //初始化obj_1 for (i=0;i<mp.length;i++){ if (mp[i]==val_1){ pindex = i; $("<option selected>"+mp[i]+"</option>").appendTo($("#"+obj_1)); }else{ $("<option>"+mp[i]+"</option>").appendTo($("#"+obj_1)); } } if (pindex!=0){ for (n=0;n<mc[pindex].length;n++){ if (mc[pindex][n]==val_2){ cindex = n; $("<option selected>"+mc[pindex][n]+"</option>").appendTo($("#"+obj_2)); }else{ $("<option>"+mc[pindex][n]+"</option>").appendTo($("#"+obj_2)); } } } if (cindex!=0){ for (m=0;m<mh[pindex][cindex].length;m++){ if (mh[pindex][cindex][m]==val_3){ $("<option selected>"+mh[pindex][cindex][m]+"</option>").appendTo($("#"+obj_3)); }else{ $("<option>"+mh[pindex][cindex][m]+"</option>").appendTo($("#"+obj_3)); } } } //响应obj_1的change事件 $("#"+obj_1).change(function(){ //获取索引 pindex = $("#"+obj_1).get(0).selectedIndex; //清空c和h $("#"+obj_2).empty(); //重新给c填充内容 $("<option>"+ar[1]+"</option>").appendTo($("#"+obj_2)); if (pindex!=0){ for (k=0;k<mc[pindex-1].length;k++){ $("<option>"+mc[pindex-1][k]+"</option>").appendTo($("#"+obj_2)); } } //清空h $("#"+obj_3).empty(); $("<option>"+ar[2]+"</option>").appendTo($("#"+obj_3)); }); //响应obj_2的change事件 $("#"+obj_2).change(function(){ cindex = $("#"+obj_2).get(0).selectedIndex; //清空h $("#"+obj_3).empty(); //重新给h填充内容 $("<option>"+ar[2]+"</option>").appendTo($("#"+obj_3)); if (cindex!=0){ for (j=0;j<mh[pindex-1][cindex-1].length;j++){ $("<option>"+mh[pindex-1][cindex-1][j]+"</option>").appendTo($("#"+obj_3)); } } }); } 来源:http://www.vihchina.net
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值