欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

AngularJS学习笔记之ng-options指令

程序员文章站 2022-03-14 16:26:56
1.基本下拉效果(lable for value in array)   其中select标签中的ng-model属性必须有,其值为选中的对象或属性值。 <...

1.基本下拉效果(lable for value in array)

  其中select标签中的ng-model属性必须有,其值为选中的对象或属性值。

<div ng-controller="ngselect">
  <p>usage:label for value in array</p>
  <p>选项,{{selected}}</p>
  <select ng-model="selected" ng-options="o.id for o in optdata">
    <option value="">-- 请选择 --</option>
  </select>
</div>
m1.controller("ngselect",['$scope',function($sc){
  $sc.selected = '';
  $sc.optdata = [{
    id: 10001,
    maincategory: '男',
    productname: '水洗t恤',
    productcolor: '白'
  },{
    id: 10002,
    maincategory: '女',
    productname: '圓領短袖',
    productcolor: '黃'
  },{
    id: 10003,
    maincategory: '女',
    productname: '圓領短袖',
    productcolor: '黃'
  }];
}]);

2.自定义下拉显示名称(label for value in array)

    label可以根据需要拼接出不同的字符串

<div ng-controller="ngselect2">
  <p>usage:label for value in array(label可以根据需求拼接出不同的字符串)</p>
  <p>选项,{{selected}}</p>
  <select ng-model="selected" ng-options="(o.productcolor+'-'+o.productname) for o in optdata">
    <option value="">-- 请选择 --</option>
  </select>
</div>
m1.controller("ngselect2",['$scope',function($sc){
  $sc.selected = '';
  $sc.optdata = [{
    id: 10001,
    maincategory: '男',
    productname: '水洗t恤',
    productcolor: '白'
  },{
    id: 10002,
    maincategory: '女',
    productname: '圓領短袖',
    productcolor: '黃'
  },{
    id: 10003,
    maincategory: '女',
    productname: '圓領短袖',
    productcolor: '黃'
  }];
}]);

3.ng-options 选项分组

    group by分组项

<div ng-controller="ngselect3">
  <p>usage:label group by groupname for value in array</p>
  <p>选项,{{selected}}</p>
  <select ng-model="selected" ng-options="(o.productcolor+'-'+o.productname) group by o.maincategory for o in optdata">
    <option value="">-- 请选择 --</option>
  </select>
</div>
m1.controller("ngselect3",['$scope',function($sc){
  $sc.selected = '';
  $sc.optdata = [{
    id: 10001,
    maincategory: '男',
    productname: '水洗t恤',
    productcolor: '白'
  },{
    id: 10002,
    maincategory: '女',
    productname: '圓領长袖',
    productcolor: '黃'
  },{
    id: 10003,
    maincategory: '女',
    productname: '圓領短袖',
    productcolor: '黃'
  }];
}]);

4.ng-options 自定义ngmodel的绑定

    下面selected的值为optdata的id 效果

<div ng-controller="ngselect4">
  <p>usage:select as label for value in array</p>
  <p>选项,{{selected}}</p>
  <select ng-model="selected" ng-options="o.id as o.productname for o in optdata">
    <option value="">-- 请选择 --</option>
  </select>
</div>
m1.controller("ngselect4",['$scope',function($sc){
  $sc.selected = '';
  $sc.optdata = [{
    id: 10001,
    maincategory: '男',
    productname: '水洗t恤',
    productcolor: '白'
  },{
    id: 10002,
    maincategory: '女',
    productname: '圓領长袖',
    productcolor: '黃'
  },{
    id: 10003,
    maincategory: '女',
    productname: '圓領短袖',
    productcolor: '黃'
  }];
}]);

效果:

以上所述就是本文的全部内容了,希望大家能够喜欢。