zoukankan      html  css  js  c++  java
  • AngularJs创建省,市,区的3级列表

    在AnguarJs中,下拉列表别使用ng-options来实现。

    <!DOCTYPE HTML>
    <html>

    <head>
    <meta charset="UTF-8">
    <title>angularjs select 三级联动</title>

    <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>

    <style type="text/css">
    label {
    padding: 5px 10px;
    border: 1px solid #fff;
    }

    .error {
    border-color: #f00;
    }
    </style>

    </head>

    <body>

    <div ng-controller='cityCtrl'>

    省份:
    <select ng-model="selected" ng-options="s.name for s in list" ng-change="c()">
    <option value="">--请选择--</option>
    </select>

    <select ng-model="selected2" ng-options="sh.name for sh in selected.child" ng-change="c2()">
    <option value="">--请选择--</option>
    </select>

    <label ng-show="selected2.child.length" ng-class="{error: error.area}">
    县级/区域:
    <select ng-model="selected3" ng-options="x.value for x in selected2.child" ng-change="c3()" >
    <option value="">--请选择--</option>
    </select>
    </label>
    <br /> {{selected.name}} {{selected2.name}} {{selected3.value}}

    </div>

    <script type="text/javascript">
    var app = angular.module('app', []);

    app.controller('cityCtrl', ['$scope', '$http', function($scope, $http) {
    $scope.error = {};
    $scope.list = [];
    $http.get('list.json').success(function(data) {
    $scope.list = data;
    });

    $scope.c = function() {

    $scope.error.area = false;
    $scope.selected2 = "";
    $scope.selected3 = "";
    };

    $scope.c2 = function() {

    $scope.error.area = false;
    $scope.selected3 = "";
    };

    $scope.c3 = function() {
    $scope.error.area = false;
    };

    }]);

    angular.bootstrap(document, ['app']);</script>

    </body>

    </html>

    新建list.json文件,来保存省,市,区的值,供给控制器调用,在界面上显示。

    [
    {
    "id": 0,
    "name": "北京",
    "code": "001",
    "child": [
    {
    "id": 0,
    "name": "东城区",
    "child": []
    }, {
    "id": 1,
    "name": "西城区",
    "child": []
    }, {
    "id": 2,
    "name": "崇文区",
    "child": []
    }, {
    "id": 3,
    "name": "宣武区",
    "child": []
    }, {
    "id": 4,
    "name": "朝阳区",
    "child": []
    }, {
    "id": 5,
    "name": "丰台区",
    "child": []
    }
    ]
    }, {
    "id": 1,
    "name": "广西",
    "code": "002",
    "child": [
    {
    "id": 0,
    "name": "南宁",
    "child": [
    {
    "value": "兴宁区"
    }, {
    "value": "青秀区"
    }, {
    "value": "江南区"
    }, {
    "value": "西乡塘区"
    }, {
    "value": "良庆区"
    }, {
    "value": "邕宁区"
    }, {
    "value": "武鸣县"
    }, {
    "value": "隆安县"
    }
    ]
    }, {
    "id": 1,
    "name": "柳州",
    "child": [
    {
    "value": "城中区"
    }, {
    "value": "鱼峰区"
    }, {
    "value": "柳南区"
    }, {
    "value": "柳北区"
    }
    ]
    }, {
    "id": 2,
    "name": "桂林",
    "child": [
    {
    "value": "秀峰区"
    }, {
    "value": "叠彩区"
    }, {
    "value": "象山区"
    }
    ]
    }, {
    "id": 3,
    "name": "百色",
    "child": [
    {
    "value": "右江区"
    }, {
    "value": "平果县"
    }, {
    "value": "田阳县"
    }, {
    "value": "田东县"
    }, {
    "value": "德保县"
    }
    ]
    }
    ]
    }, {
    "id": 2,
    "name": "广东",
    "code": "003",
    "child": [
    {
    "id": 0,
    "name": "广州",
    "child": [
    {
    "value": "天河区"
    }, {
    "value": "白云区"
    }, {
    "value": "黄埔区"
    }
    ]
    }, {
    "id": 1,
    "name": "深圳",
    "child": [
    {
    "value": "宝安区"
    }, {
    "value": "南山区"
    }, {
    "value": "福田区"
    }
    ]
    }, {
    "id": 2,
    "name": "珠海",
    "child": []
    }
    ]
    }
    ]

  • 相关阅读:
    scrapy学习(完全版)
    Python中模块与包的导入(朴实易懂版的总结)
    urllib.request.urlretrieve()用于下载制定url内容到本地
    IDEA自定义liveTemplates(方法模板、类模板)
    MySQL建表DDL规范(欢迎补充)
    15分钟搭建RocketMQ源码调试环境
    2500-使用MyBatis操作MySQL进行批量更新的注意事项
    手动注入bean到spring容器
    1000-ms-HashMap 线程安全安全问题
    1000-ms-maven相关问题
  • 原文地址:https://www.cnblogs.com/JSWBK/p/5611256.html
Copyright © 2011-2022 走看看