美文网首页
jQuery 城市联动

jQuery 城市联动

作者: 白衣诗人 | 来源:发表于2018-12-27 09:35 被阅读0次
html
<div class="input-city">
    <input type="text" class="asdCity" id="asdCity" placeholder="选择省/市/区">
    <div class="city-pop">
        <img src="up.png" alt="">
    </div>
</div>
图片
up.png
js
 City(".city-pop");
css文件
.input-city{
    height: 50px;
    width: 100%;
    margin-bottom: 14px;
    position: relative;
}
.input-city input{
    height: 50px;
    width: 100%;
    border: 1px solid rgb( 225, 225, 225 );
    padding: 0 15px;
    font-size: 14px;
    box-sizing: border-box;
}
.city-pop {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.city-pop img {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}
.cityBox{
    width: 100%;
    height: auto;
    min-height: 170px;
    background: #fff;
    border: 1px solid rgb( 251, 206, 11 );
    overflow: hidden;
    box-sizing: border-box;
    padding: 0 0 13px;
}
.cityBox p {
    height: 38px;
    line-height: 38px;
    font-size: 14px;
    color: rgb( 251, 206, 11 );
    padding: 0 7px;
    margin: 0;
}
.city-btn{
    display: inline-block;
    height: 26px;
    line-height: 26px;
    font-size: 14px;
    padding: 0 7px;
    box-sizing: border-box;
    cursor: pointer;
}
js文件
function City(obj) {
    console.log(obj)
    var dom;
    dom = "<div class='cityBox'>\n" +
        "<p>选择省份/自治区</p>\n" +
        "<div class='city-ul'>\n" +
        "<div class='city-li province active'></div>\n" +
        "<div class='city-li city '></div>\n" +
        "<div class='city-li district'></div>\n" +
        "</div>\n" +
        "</div>";
    var cityVal;//已选择内容
    var dataId;//获取上级id
    var pHtml,cHtml,dHtml;//省、市、区/县
    $(document).on('click', obj, function() {
        if($(obj).parent().children(".cityBox").length<=0){
            $(obj).parent().append(dom);
                for (var i =0 ;i<ChineseDistricts[86].length; i++){
                    $(".province").append("<span class='city-btn' data-id="+ChineseDistricts[86][i].code+">"+ChineseDistricts[86][i].address+"</span>");
                }
                // $(".province").show();

        }else {
            $(".cityBox").remove();//清除,防止重复写入
        }
    });
    $(document).on('click', '.city-btn', function() {
        dataId = $(this).attr("data-id");
    });
    $(document).on('click', '.province .city-btn', function() {
        for (var key in ChineseDistricts[dataId]) {
            $(".city").append("<span class='city-btn' data-id="+key+">"+ChineseDistricts[dataId][key]+"</span>");
        }
        $(".province").hide();//隐藏当前
        pHtml = $(this).html();
        $("#asdCity").val(pHtml);
    });
    $(document).on('click', '.city .city-btn', function() {
        for (var key in ChineseDistricts[dataId]) {
            $(".district").append("<span class='city-btn' data-id="+key+">"+ChineseDistricts[dataId][key]+"</span>");
        }
        $(".city").hide();//隐藏当前
        cHtml = $(this).html();
        cityVal = $("#asdCity").val();
        $("#asdCity").val(cityVal+"/"+cHtml);
    });
    $(document).on('click', '.district .city-btn', function() {
        $(".cityBox").remove();//清除
        dHtml = $(this).html();
        cityVal = $("#asdCity").val();
        $("#asdCity").val(cityVal+"/"+dHtml);
    });
}

相关文章

网友评论

      本文标题:jQuery 城市联动

      本文链接:https://www.haomeiwen.com/subject/mckklqtx.html