AngularJS学习笔记之ng-options指令

       ng-options是angular-1.3新出的一个指令,这篇文章就来介绍这个指令的用法.有需要的小伙伴可以参考下。

 
 

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

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

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

<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可以根据需要拼接出不同的字符串

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

<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分组项

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

<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 效果 http://sandbox.runjs.cn/show/nhi8ubrb

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

<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: '黃'
}];
}]);

效果:http://runjs.cn/detail/nhi8ubrb

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

 

时间: 2024-12-22 16:57:35

AngularJS学习笔记之ng-options指令的相关文章

AngularJS学习笔记之基本指令

  AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-.ng-app 指令初始化一个 AngularJS 应用程序.ng-init 指令初始化应用程序数据.ng-model 指令把应用程序数据绑定到 HTML 元素. AngularJS学习笔记之基本指令(init.repeat) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

AngularJS学习笔记

1. 关于AngularJS AngularJS 是 Google 开源出来的一套 js 工具.下面简称其为 ng .这里只说它是"工具",没说它是完整的"框架",是因为它并不是定位于去完成一套框架要做的事.更重要的,是它给我们揭示了一种新的应用组织与开发方式. ng 最让我称奇的,是它的数据双向绑定.其实想想,我们一直在提数据与表现的分离,但是这里的"双向绑定"从某方面来说,是把数据与表现完全绑定在一起--数据变化,表现也变化.反之,表现变化了

angularJS学习笔记:创建自定义angularJS指令基础篇

AngularJS提供了很多指令可以帮助我们操作DOM.处理事件.数据绑定.绑定控制器与作用域(ngView)等等.例如ngClick.ngShow.ngHide.ngRepeat以及其它很多AngularJS核心的指令都可以帮助我们很轻松的使用这个框架. 虽然内置的指令已经覆盖了大部分的使用场景,但在实际使用中为了简化操作或组件重用等我们经常需要创建自己的指令.在这个系列的文章中我将一步步带你了解AngularJS指令是如何工作的,以及如何开始使用/创建它们. 在这个系列的文章中我们假定你已经

AngularJS学习笔记之依赖注入详解_AngularJS

     最近在看AngularJS权威指南,由于各种各样的原因(主要是因为我没有money,好讨厌的有木有......),于是我选择了网上下载电子版的(因为它不要钱,哈哈...),字体也蛮清晰的,总体效果还不错.但是,当我看到左上角的总页码的时候,479页....479....479....俺的小心脏被击穿了二分之一有木有啊,上半身都石化了有木有啊,那种特别想学但是看到页码又不想学的纠结的心情比和女朋友吵架了还复杂有木有啊,我平常看的电子书百位数都不大于3的好伐! 哎,原谅我吧,我应该多看几本

AngularJS学习笔记--002--Angular JS路由插件ui.router源码解析

路由(route),几乎所有的MVC(VM)框架都应该具有的特性,因为它是前端构建单页面应用(SPA)必不可少的组成部分. 那么,对于angular而言,它自然也有内置的路由模块:叫做ngRoute. 不过,大家很少用它,因为它的功能太有限,往往不能满足开发需求!! 于是,一个基于ngRoute开发的第三方路由模块,叫做ui.router,受到了大家的"追捧". ngRoute vs ui.router 首先,无论是使用哪种路由,作为框架额外的附加功能,它们都将以模块依赖的形式被引入,

AngularJS学习笔记(三)数据双向绑定的简单实例_AngularJS

双向绑定 双向绑定是AngularJS最实用的功能,它节省了大量的代码,使我们专注于数据和视图,不用浪费大量的代码在Dom监听.数据同步上,关于双向更新,可看下图: 数据-->视图 这里我们只演示有了数据以后,如何绑定到视图上. <!DOCTYPE html> <html ng-app="App"> <head> <script type="text/javascript" src="http://sandb

Vue.js第一天学习笔记(数据的双向绑定、常用指令)_javascript技巧

数据的双向绑定(ES6写法)  效果: 没有改变 input 框里面的值时: 将input 框里面的值清空时: 重新给  input 框输入  豆豆 后页面中  span  里绑定{{testData.name}}的值随着 input 框值的变化而变化. 在Vue.js中可以使用v-model指令在表单元素上创建双向数据绑定.并且v-model指令只能用于:<input>.<select>.<textarea>这三种标签. <template> <di

AM335x(TQ335x)学习笔记——挂载Ramdisk

上篇文章中我们已经能够通过u-boot启动内核了,但是没有能够启动成功,从内核的log中可以看出,内核启动失败的原因是没有挂载到root文件系统,本文将使用busybox制作根文件系统并打包成ramdisk供u-boot启动内核使用. (1)制作根文件系统 使用busybox构建根文件系统的步骤可以参考本博客的另外一篇文章,该文章链接如下: S5PV210(TQ210)学习笔记--内核移植与文件系统构建 需要补充的是,文章"S5PV210(TQ210)学习笔记--内核移植与文件系统构建"

Mysql学习笔记(十四)备份与恢复

原文:Mysql学习笔记(十四)备份与恢复 学习内容: 1.数据库的重要数据备份... 2.什么时候需要使用到数据库备份.. 3.如何恢复备份的数据..   1.备份: 说到备份,相比大家都不应该陌生,比如说我们平时在为我们的电脑重新做系统的时候,那么我们保存在电脑里的重要文件我们都需要进行备份..或者是当我们在使用一键还原系统的时候,我们也需要进行备份..那么数据库也不例外,我们需要对数据库里面保存的重要数据进行备份..比如说一个大型的企业,那么必然会有自己的一个大型数据库,那么数据库管理员必