ng-option 有数组,对象两种情况,但目前只接触过数组

数组:

label for value in array

分为一般数组和对象数组

一般数组:

<select ng-model="myAddress" ng-options="item for item in address"></select>

$scope.address= ["北京", "天津", "河北"];

发现第一项为空

dom树如下:

解析: 1.当未设置初始值时,初始值及option列表第一项为空,默认第一项被选 2.value等于label

设置初始值方法:

1.$scope.myAddress= $scope.address[0];

注: 初始值必须得是数组中的某一项,否则无效

则变为:

2.新增option

<select ng-model="myAddress" ng-options="item for item in address">
  <option value="" disabled="">请选择地址</option>
</select>

(值得一提的是这种方法只能新增一个option,多写的不会出现)

变为:

disable的option会变为不可选的灰色,此种方法应用面更广

对象数组:

<select ng-model="myColor1" ng-options="color.name for color in colors"></select>

$scope.colors = [
  {name:'black', shade:'dark'},
  {name:'white', shade:'light', notAnOption: true},
  {name:'red', shade:'dark'},
  {name:'blue', shade:'dark', notAnOption: true},
  {name:'yellow', shade:'light', notAnOption: false}];

dom树如下:

解析: 写法与一般数组不同,value为label所属的对象

---------------------------------------------------------------------------------------------------------------------------------------------------------

label group by group for value in array(选项分组)

<select ng-model="myColor2" ng-options="color.name group by color.shade for color in colors"></select>

                           label                    分组依据属性

$scope.colors = [
{name:'black', shade:'dark'},
{name:'white', shade:'light', notAnOption: true},
{name:'red', shade:'dark'},
{name:'blue', shade:'dark', notAnOption: true},
{name:'yellow', shade:'light', notAnOption: false}
];

可见按照shade属性进行了分组

----------------------------------------------------------------------------------------------------------------------------------------------------------

label disable when disable for value in array(将部分option设为disable)

<select ng-model="myColor3" ng-options="color.name disable when color.notAnOption for color in colors"></select>

                        label                          disable依据属性

$scope.colors = [
{name:'black', shade:'dark'},
{name:'white', shade:'light', notAnOption: true},
{name:'red', shade:'dark'},
{name:'blue', shade:'dark', notAnOption: true},
{name:'yellow', shade:'light', notAnOption: false}
];

可以看出当notAnOption未false时不可点击

--------------------------------------------------------------------------------------------------------------------------------------------

select as label for value in array(设置value)

<select ng-model="myColor4" ng-options="color.shade as color.name for color in colors"></select>

                       value             label

可见shade成了value,name成了label

-------------------------------------------------------------------------------------------------------------------------------------------------

ng-option小解的更多相关文章

  1. js封装包

    (function () { //check the class name , it will be replaced when existed if (window.IQCBase) { //ret ...

  2. ng 动态的生成option。

    ngOptions:根据集合,动态的生成option. select ng-options="color.name for color in colorList" 注意跟ng-re ...

  3. AngularJS下拉列表select在option动态变化之后多出了一个错误项的问题

    场景: Select初始化之后,选中select的某个选项 通过AngularJS更新select的选项 错误写法: HTML(使用ng-repeat) <div ng-app="Te ...

  4. Flume NG Getting Started(Flume NG 新手入门指南)

    Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...

  5. ng 双向数据绑定 实现 注册协议效果

    效果: 代码: <!DOCTYPE html> <html ng-app="myApp"> <head lang="en"> ...

  6. ng 监听数据的变化

    $scope.$watch('监听的变量的名称',func) 在angularJs之所以能够实现绑定,是因为angularJS框架在背后为每一个模型数据添加了一个监听,与$watch其实是一个道理. ...

  7. Windows 环境 ABP前端运行 ng test 无法执行

    Command: ng test Error Information: Schema validation failed with the following errors: Data path &q ...

  8. [C2P2] Andrew Ng - Machine Learning

    ##Linear Regression with One Variable Linear regression predicts a real-valued output based on an in ...

  9. 在 C# 里使用 F# 的 option 变量

    在使用 C# 与 F# 混合编程的时候(通常是使用 C# 实现 GUI,F#负责数据处理),经常会遇到要判断一个 option 是 None 还是 Some.虽然 Option module 里有 i ...

  10. jsPanel插件Option总结

    jsPanel插件Option总结 学习jsPanel之余对相关的选项进行了总结,便于参考. # 选项名称 类别 简要说明 1 autoclose configuration 设置一个时间在毫秒后,面 ...

随机推荐

  1. Java JVM 请别拿“String s=new String("z");创建了多少实例”来面试 [ 转载 ]

    Java 请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧 [ 转载 ] @author RednaxelaFX 原文链 ...

  2. hdu_2296_Ring(AC自动机+DP)

    题目链接:hdu_2296_Ring 题意: 有m个字符串,每个字符串有一个价值,现在让你组成一个不超过n长度的字符串,使得价值最大 题解: 很明显是在AC自动机上的DP,设dp[i][j]表示当前长 ...

  3. Babel 相关资料

    Babel online editor Babel Plugin Handbook babeljs usage options

  4. IOS 类的属性修饰符atomic

    在声明一个类的属性时,默认这个属性会被修饰atomic,意思是原子性访问的. nonatomic和atomic修饰的属性,在自己没有重写setter和getter的时候才会发生作用,其主要的作用可以理 ...

  5. ural 1355. Bald Spot Revisited(数的素因子划分)

    1355. Bald Spot Revisited Time limit: 1.0 secondMemory limit: 64 MB A student dreamt that he walked ...

  6. B题 Before an Exam

    Description Tomorrow Peter has a Biology exam. He does not like this subject much, but d days ago he ...

  7. 解决Eclipse无法添加Tomcat服务器的问题

    eclipse配置好以后,如果Tomcat服务器在文件系统的位置发生了变化,则需要重新配置Tomcat服务器,这时会遇到无法设置服务器的问题 即图中框起来的部分无法进行操作,这时需要 关闭Eclips ...

  8. 文本注释系统 + MarkDown

    标记系统: 笔记的要点 题材 缘起 目标 等级: 细节性 事实性 规律 法则 适用范围: 时间.地点.人物.起因.经过.结果,who what where when why how whom 6W1H ...

  9. javaWEB总结(6):ServletRequest

    1.首先看ServletRequest的API javax.servlet Interface ServletRequest All Known Subinterfaces: HttpServletR ...

  10. 自定义控件之--组合控件(titlebar)

    自定义控件相关知识从郭霖等大神身上学习,这里只不过加上自己的理解和实践,绝非抄袭.   组合控件是自定义控件中最简单的方式,但是是入门自定义控件和进阶的过程: 那么常见的组合控件有那些? 比如titl ...