• AngularJS 多级下拉框


    <div ng-app="MultiDropDownApp" ng-controller="MultiDropDownControl as vm">
        <label>选择地址:</label>
        <!--ng-options加载所有选择项,ng-model记录当前选择项-->
        <select ng-model="vm.province" ng-options="x.name for x in vm.provinceSort"
                ng-change="vm.selectProvince()" id="" value="" class="form-control width-25">
            <option value="">请选择</option>
    
        </select>
        <label>—</label>
        <select ng-model="vm.city" ng-options="x.name for x in vm.citySort"
                id="" value="" class="form-control width-25">
            <option value="">请选择</option>
    
        </select>
    </div>
    
    <script src="~/Scripts/angular.min.js"></script>
    <script>
        var app = angular.module('MultiDropDownApp', []);
        //可以添加上自己注入的服务
        app.controller('MultiDropDownControl', ['$scope', '$http',
            function ($scope, $http) {
                var vm = this;
                vm.provinceSort = [];
                vm.citySort = [];
    
                //选择省级单位,初始化市级数据   二级联动
                vm.selectProvince = function () {
                    var fatherID = vm.province.id;
                    vm.citySort = [];
                    $http({
                        method: 'POST',
                        url: '/AngularjsStudy/GetChildrenSort',
                        data: { fatherID: fatherID }
                    }).then(function successCallback(data) {
                        vm.citySort = data.data;
                    }, function errorCallback(response) {
                        // 请求失败执行代码
                    });
                }
    
                //初始化页面
                function init() {
                    //省
                    $http({
                        method: 'POST',
                        url: '/AngularjsStudy/GetProvinceSort',
                        data: {}
                    }).then(function successCallback(data) {
                        //加载下拉框数据
                        vm.provinceSort = data.data;
                        //设置默认选项
                        vm.province = vm.provinceSort[0];
                    }, function errorCallback(response) {
                        // 请求失败执行代码
                    });
                }
    
                //初始化
                init();
            }])
    </script>
    

    Controller

            public ActionResult GetProvinceSort()
            {
                List<District> districts = new List<District>();
                districts.Add(new District() {id=1,fatherID=0,name="湖南省" });
                districts.Add(new District() { id =2, fatherID = 0, name = "湖北省" });
                districts.Add(new District() { id =3, fatherID = 0, name = "四川省" });
                return Json(districts);
            }
    
            public ActionResult GetChildrenSort(int fatherID)
            {
                List<District> districts = new List<District>();
                switch (fatherID)
                {
                    case 1:
                        districts.Add(new District() { id = 4, fatherID = 1, name = "长沙市" });
                        districts.Add(new District() { id = 5, fatherID = 1, name = "岳阳市" });
                        districts.Add(new District() { id = 6, fatherID = 1, name = "株洲市" });
                        return Json(districts);
                    case 2:
                        districts.Add(new District() { id = 7, fatherID = 2, name = "武汉市" });
                        districts.Add(new District() { id = 8, fatherID = 2, name = "宜昌市" });
                        return Json(districts);
                    case 3:
                        districts.Add(new District() { id = 9, fatherID = 3, name = "成都市" });
                        districts.Add(new District() { id = 10, fatherID = 3, name = "遂宁市" });
                        districts.Add(new District() { id = 11, fatherID = 3, name = "巴中市" });
                        districts.Add(new District() { id = 12, fatherID = 3, name = "绵阳市" });
                        districts.Add(new District() { id = 13, fatherID = 3, name = "南充市" });
                        return Json(districts);
                    default:
                        districts.Add(new District() { id = 14, fatherID = -1, name = "不知道你选了什么∑q|゚Д゚|p" });
                        return Json(districts);
                }
            }
    

    Model

    public class District
    {
        public int id { get; set; }
        /// <summary>
        /// 根节点FatherID=0
        /// </summary>
        public int fatherID { get; set; }
        public string name { get; set; }
    }
  • 相关阅读:
    Java环境变量的简记
    win10系统安装postgresql后无法连接
    VB.net Postgresql调用,NpgsqlDataReader,NpgsqlDataAdapter的调用例子。
    Postgresql服务器无法连接(10060错误信息)
    解决visual studio的No EditorOptionDefinition 错误
    从零开始Wordpress建站经验分享,内附耗时及成本
    Servlet端 接收不到4096,8192长度的JSON参数
    Wiser的Junit测试用法
    Oracle表生成JavaBean
    mysql表生成JavaBean
  • 原文地址:https://www.cnblogs.com/Lulus/p/7874113.html
Copyright © 2020-2023  润新知