首页 > 代码库 > ng-options的使用
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:
label
for
value
in
array
select
as
label
for
value
in
array
label
group by
group
for
value
in
array
label
disable when
disable
for
value
in
array
label
group by
group
for
value
in
array
track by
trackexpr
label
disable when
disable
for
value
in
array
track by
trackexpr
label
for
value
in
array
| orderBy:orderexpr
track by
trackexpr
(for including a filter withtrack by
)
- for object data sources:
label
for (
key
,
value
) in
object
select
as
label
for (
key
,
value
) in
object
label
group by
group
for (
key
,
value
) in
object
label
disable when
disable
for (
key
,
value
) in
object
select
as
label
group by
group
for
(
key
,
value
) in
object
select
as
label
disable when
disable
for
(
key
,
value
) in
object
自己的代码:
<!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>
ng-options的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。