angular 的select标签以及联动

angular的select标签用法

<select ng-model="value" ng-options="item.id as item.name for item in arr"></select>
 //当前option的id 就是select的ng-model的值,在页面显示的是name,默认选中可以用 $scope.value = id

联动的问题:这里要注意的是ng-options="item.name for item in data",默认选中的话需要循环根据id判断默认值,具体代码如下

<html>
   
   <head>
      <meta charset="utf-8">
      <title>AngularJS  依赖注入</title>
   </head>
   
   <body>
      <div ng-app="myApp" ng-controller="PaginationDemoCtrl">
        <select ng-model="mygame" ng-change="myarea=mygame.areas[0];myserver=myarea.servers[0]" ng-options="item.name for item in data">
            <option value="">--游戏--</option>
        </select>
        <select ng-model="myarea" ng-change="myserver=myarea.servers[0]"  ng-options="item.name for item in mygame.areas" >
            <option value="">--大区--</option>
        </select>
        <select ng-model="myserver" ng-options="item.name for item in myarea.servers">
            <option value="">--服务器--</option>
        </select>
    <button ng-click="aaaa()">结果</button>
    <button ng-click="bbbb()">默认选中</button>
</div>
      
      <script src="http://cdn.bootcss.com/angular.js/1.4.6/angular.min.js"></script>
      
      <script>
angular.module('myApp',[])
.controller('PaginationDemoCtrl', ["$scope",function ($scope) {
    $scope.data = [
        {
            name:"使命召唤",
            id:"smzh",
            areas:[
                {
                    name:'使命召唤一区',
                    id:"smzh01",
                    servers:[
                        {
                            name:"使命召唤一区一服",
                            id:"smzh0101",
                        },
                        {
                            name:"使命召唤一区二服",
                            id:"smzh0102",
                        }
                    ]
                },{
                    name:'使命召唤二区',
                    id:"smzh02",
                    servers:[
                        {
                            name:"使命召唤二区一服",
                            id:"smzh0201",
                        },
                        {
                            name:"使命召唤二区二服",
                            id:"smzh0202",
                        }
                    ]
                }
            ]
        },{
            name:'dnf',
            id:"dnf",
            areas:[
                {
                    name:'dnf一区',
                    id:"dnf01",
                    servers:[
                        {
                            name:"dnf一区一服",
                            id:"dnf0101",
                        },
                        {
                            name:"dnf一区二服",
                            id:"dnf0102",
                        }
                    ]
                },{
                    name:'dnf二区',
                    id:"dnf02",
                    servers:[
                        {
                            name:"dnf二区一服",
                            id:"dnf0201",
                        },
                        {
                            name:"dnf二区二服",
                            id:"dnf0202",
                        }
                    ]
                }
            ]
        }
    ];
    $scope.aaaa = function () {
        console.log($scope.mygame);
        console.log($scope.myarea);
        console.log($scope.myserver);
    };

    $scope.bbbb = function () {
        angular.forEach($scope.data,function (item) {
            if("smzh"==item.id){
                $scope.mygame = item;
            }
        });
        angular.forEach($scope.mygame.areas,function (item) {
            if("smzh01"==item.id){
                $scope.myarea = item;
            }
        });
        angular.forEach($scope.myarea.servers,function (item) {
            if("smzh0101"==item.id){
                $scope.myserver = item;
            }
        });
    };
}]);
    </script>
      
   </body>
</html>



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值