zoukankan      html  css  js  c++  java
  • ng-options的使用

    参考:官方文档zhx1991

    select 无默认选择一项

    <select name="" id="" class="form-control" ng-options="item.id for item in optData" ng-model="selected">
      <!-- item.id是label 显示出来的 item是value 选中的数据object -->
      <option value="">---请选择---</option>
    </select>

    select 有默认选择一项

      $scope.selected=$scope.optData[1];

    select其他

    //字符拼接
    <select name="" id="" class="form-control"
    ng-options="(item.id+' '+item.ProductName) for item in optData"
    ng-model="selected"></select>
    //分组 label group by groupName for value in Array
    <select name="" id="" class="form-control"
    ng-model="selected" 
    ng-options="item.id group by item.MainCategory for item in optData">
    </select>
    //下面selected的值为optData的id select as label for value in Array
    <select name="" id="" class="form-control"
    ng-model="selected" 
    ng-options="item.id as item.ProductName for item in optData"></select>
    //多级列表
    <select name="" id="" class="form-control" ng-options="obj.name for obj in people" ng-model="selectedPerson">
    </select>
    <select name="" id="" class="form-control" ng-model="selectedGenre">
        <option ng-repeat="label in people[selectedPerson.id].interest">{{label}}</option>
    </select>

    ng-options的内容:

    • for array data sources:
      • labelforvalueinarray
      • selectaslabelforvalueinarray
      • labelgroup bygroupforvalueinarray
      • labeldisable whendisableforvalueinarray
      • labelgroup bygroupforvalueinarraytrack bytrackexpr
      • labeldisable whendisableforvalueinarraytrack bytrackexpr
      • labelforvalueinarray | orderBy:orderexprtrack bytrackexpr(for including a filter with track by)
    • for object data sources:
      • labelfor (key,value) inobject
      • selectaslabelfor (key,value) inobject
      • labelgroup bygroupfor (key,value) inobject
      • labeldisable whendisablefor (key,value) inobject
      • selectaslabelgroup bygroupfor(key,value) inobject
      • selectaslabeldisable whendisablefor(key,value) inobject

    自己的代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">  
        <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
        <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <script src="http://cdn.bootcss.com/angular-ui-bootstrap/2.2.0/ui-bootstrap-tpls.js"></script>
        <script src="https://cdn.bootcss.com/angular-i18n/1.5.8/angular-locale_zh-cn.js"></script>
        <script>
            angular.module('m1',['ui.bootstrap'])
            .controller('ngselect',function($scope){
                $scope.optData=[
                    {id:10001,MainCategory:'',ProductName:'水洗T桖',ProductColor:''},
                    {id:10002,MainCategory:'',ProductName:'干洗毛衣',ProductColor:''},
                    {id:10003,MainCategory:'',ProductName:'干洗毛衣',ProductColor:''},
                    {id:10004,MainCategory:'',ProductName:'水洗T桖',ProductColor:''}
                ]
            })
            .controller('ngselect1',function($scope){
                $scope.optData=[
                    {id:10001,MainCategory:'',ProductName:'水洗T桖',ProductColor:''},
                    {id:10002,MainCategory:'',ProductName:'干洗毛衣',ProductColor:''},
                    {id:10003,MainCategory:'',ProductName:'干洗毛衣',ProductColor:''},
                    {id:10004,MainCategory:'',ProductName:'水洗T桖',ProductColor:''}
                ];
                $scope.selected=$scope.optData[1];
            })
            .controller('ngselect2',function($scope){
                $scope.optData=[
                    {id:10001,MainCategory:'',ProductName:'水洗T桖',ProductColor:''},
                    {id:10002,MainCategory:'',ProductName:'干洗毛衣',ProductColor:''},
                    {id:10003,MainCategory:'',ProductName:'干洗毛衣',ProductColor:''},
                    {id:10004,MainCategory:'',ProductName:'水洗T桖',ProductColor:''}
                ];
                $scope.selected=$scope.optData[1].id;
            })
            .controller('ngselect3',function($scope){
                $scope.people = [
                        {
                                id: 0,
                                name: '张三',
                                interest: [
                                '爬山',
                                '游泳',
                                '旅游',
                                '美食'
                            ]
                        },
                        {
                            id: 1,
                            name: '李四',
                            interest: [
                                '音乐',
                                '美食',
                                'Coffee',
                                '看书'
                            ]
                        },
                        {
                            id: 2,
                            name: '王五',
                            interest: [
                                '音乐',
                                '电影',
                                '中国好声音',
                                '爸爸去哪了',
                                '非常静距离'
                            ]
                        },
                        {
                            id: 3,
                            name: '小白',
                            interest: [
                                '游泳',
                                '游戏',
                                '宅家里'
                            ]
                        }
                    ];
               
            })
        </script>
    </head>
    <body ng-app="m1">
        <div class="container">
            <h1>下拉列表</h1>
            <div ng-controller="ngselect">
                <h4>无默认选择 label for value in array</h4>
                <div class="col-xs-6">
                    <select name="" id="" class="form-control" ng-options="item.id for item in optData" ng-model="selected">
                        <!-- item.id是label 显示出来的 item是value 选中的数据object -->
                        <option value="">---请选择---</option>
                    </select>
                </div>
                <div class="col-xs-6">
                    <input type="text" class="form-control" value="{{selected.id+'--'+selected.ProductName+'--'+selected.MainCategory}}"  >
                </div>
                <p class="well">添加一个'option'</p>
            </div>
            <div ng-controller="ngselect1">
                <h4>默认选择一项</h4>
                <div class="col-xs-6"><select name="" id="" class="form-control" ng-options="item.id for item in optData" ng-model="selected"></select></div>
                <div class="col-xs-6"><select name="" id="" class="form-control" ng-options="(item.id+' '+item.ProductName) for item in optData" ng-model="selected"></select></div>
                
                <div class="col-xs-6">
                    <select name="" id="" class="form-control" ng-model="selected" ng-options="item.id group by item.MainCategory for item in optData"></select>
                </div>
                
            </div>
            <div ng-controller="ngselect2">
                <div class="col-xs-6">
                    <select name="" id="" class="form-control" ng-model="selected" ng-options="item.id as item.ProductName for item in optData"></select>
                    <input type="text" ng-model="selected">
                </div>
            </div>
            <div ng-controller="ngselect3">
                <div class="col-xs-3">
                    <select name="" id="" class="form-control" ng-options="obj.name for obj in people" ng-model="selectedPerson">
                    </select>
                </div>
                <div class="col-xs-3">
                    <select name="" id="" class="form-control" ng-model="selectedGenre">
                        <option ng-repeat="label in people[selectedPerson.id].interest">{{label}}</option>
                    </select>
                </div>
            </div>
        </div>
    </body>
    </html>

      

  • 相关阅读:
    匿名访问windows server 2008 R2 文件服务器的共享
    ESXI6.0新添加硬盘未能格式化成功
    vcenter server appliance(vcsa) 配置IP的方法
    Office 手动kms激活方法
    .NET Reflector注册机激活方法
    转载: 显示隐藏的断开连接的邮箱
    十步轻松搞定IIS+PHP环境搭建
    解决windows10下无法安装.net framework 3.5,错误代码0x800F081F
    Vmware Horizon 服务器替换 ssl 证书
    vmware查看HBA卡、网卡驱动、firmware版本信息
  • 原文地址:https://www.cnblogs.com/tonghaolang/p/5972762.html
Copyright © 2011-2022 走看看