• 省市区联动


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>省市区联动</title>
        <link rel="stylesheet" href="/assets/bootstrap/dist/css/bootstrap.min.css">
        <style type="text/css">
            .container {
                padding-top: 150px;
            }
        </style>
    </head>
    <body>
        <div class="container">
            <div class="form-inline">
                <div class="form-group">
                    <select class="form-control" id="province"></select>
                </div>
                <div class="form-group">
                    <select class="form-control" id="city">
                        <option>请选择城市</option>
                    </select>
                </div>
                <div class="form-group">
                    <select class="form-control" id="area">
                        <option>请选择县城</option>
                    </select>
                </div>
            </div>
        </div>
        <script src="/js/ajax.js"></script>
        <script src="/js/template-web.js"></script>
        <!-- 省份模板 -->
        <script type="text/html" id="provinceTpl">
            <option>请选择省份</option>
            {{each province}}
                <option value="{{$value.id}}">{{$value.name}}</option>
            {{/each}}
        </script>
        <!-- 城市模板 -->
        <script type="text/html" id="cityTpl">
            <option>请选择城市</option>
            {{each city}}
                <option value="{{$value.id}}">{{$value.name}}</option>
            {{/each}}
        </script>
        <!-- 县城模板 -->
        <script type="text/html" id="areaTpl">
            <option>请选择县城</option>
            {{each area}}
                <option value="{{$value.id}}">{{$value.name}}</option>
            {{/each}}
        </script>
        <script>
            // 获取省市区下拉框元素
            var province = document.getElementById('province');
            var city = document.getElementById('city');
            var area = document.getElementById('area');
            // 获取省份信息
            ajax({
                type: 'get',
                url: 'http://localhost:3000/province',
                success: function (data) {
                    // 将服务器端返回的数据和html进行拼接
                    var html = template('provinceTpl', {province: data});
                    // 将拼接好的html字符串显示在页面中
                    province.innerHTML = html;
                }
            });

            // 为省份的下拉框添加值改变事件
            province.onchange = function () {
                // 获取省份id
                var pid = this.value;

                // 清空县城下拉框中的数据
                var html = template('areaTpl', {area: []});
                area.innerHTML = html;

                // 根据省份id获取城市信息
                ajax({
                    type: 'get',
                    url: '/cities',
                    data: {
                        id: pid
                    },
                    success: function (data) {
                        var html = template('cityTpl', {city: data});
                        city.innerHTML = html;
                    }
                })
            };

            // 当用户选择城市的时候
            city.onchange = function () {
                // 获取城市id
                var cid = this.value;
                // 根据城市id获取县城信息
                ajax({
                    type: 'get',
                    url: 'http://localhost:3000/areas',
                    data: {
                        id: cid
                    },
                    success: function(data) {
                        var html = template('areaTpl', {area: data});
                        area.innerHTML = html;
                    }
                })
            }
        </script>
    </body>
    </html>
  • 相关阅读:
    30行js让你的rem弹性布局适配所有分辨率(含竖屏适配)(转载)
    JavaScript事件流原理解析
    Java中this和super的用法和区别
    Java多态面试题案例几解题思路
    Java多态的向上转型和向下转型
    Java方法的重载和重写
    Java冒泡具体的原理,以及下标的变化
    Java中的冒泡排序和选择排序
    使用Java实现对一个数组的增删改查以及初始化
    Java中构造函数传参数在基本数据类型和引用类型之间的区别
  • 原文地址:https://www.cnblogs.com/ericblog1992/p/13130554.html
Copyright © 2020-2023  润新知