阅读背景:

html jquery select 三级菜单

来源:互联网 

通过读取json数据完成无刷新加载

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>getJSON获取数据</title>
    <script src="../../bootstrap_test/bootstrap/js/jquery.min.js"></script>
    <style type="text/css">
        *{margin:0;padding:0;}
        .selectList{width:300px;margin:50px auto;}
    </style>
</head>

<body>
<div class="selectList">
    <select class="province">
        <option>请选择</option>
    </select>
    <select class="city">
        <option>请选择</option>
    </select>
    <select class="district">
        <option>请选择</option>
    </select>
</div>
<script>
    $(function(){
        var areaJson;
        var func = {
            "province": function(areaJson) {
                temp_html = "";
                $.each(areaJson,function(i,province){
                    temp_html+="<option value='"+province.p+"'>"+province.p+"</option>";
                });
                $(".province").html(temp_html);
                func.city(areaJson);
            },
            "city": function(areaJson) {
                var n = $(".province").get(0).selectedIndex,
                        temp_html="";
                $.each(areaJson[n].c, function(i, city) {
                    temp_html+="<option value='"+city.ct+"'>"+city.ct+"</option>";
                });
                $(".city").html(temp_html);
                func.district(areaJson);
            },
            "district": function(areaJson) {
                var m = $(".province").get(0).selectedIndex,
                     n = $(".city").get(0).selectedIndex,
                        temp_html="";
                if(typeof(areaJson[m].c[n].d) == "undefined") {
                    $(".district").css("display", "none");
                }
                else
                {
                    $(".district").css("display","inline");
                    $.each(areaJson[m].c[n].d, function (i, district) {
                        temp_html += "<option value='" + district.dt + "'>" + district.dt + "</option>";
                    });
                    $(".district").html(temp_html);
                }
            }
        };
        //获取json数据
        $.getJSON("./area.json",function(data){
            areaJson = data;
            //为省份赋值
            func.province(data);
        });

        $(".province").change(function(){
            func.city(areaJson);
        });
        $(".city").change(function(){
            func.district(areaJson);
        });
    })
</script>
</body>
</html>
<!DOCTYPE html>
<html>



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: