ylbtech-AngularJS:Select
1.返回顶部
1、

AngularJS Select(选择框)

AngularJS 可以使用数组或对象创建一个下拉列表选项


使用 ng-options 创建选择框

在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,如下实例:

实例

  1. <div ng-app="myApp" ng-controller="myCtrl">
  2.  
  3. <select ng-init="selectedName = names[0]" ng-model="selectedName" ng-options="x for x in names">
  4. </select>
  5.  
  6. </div>
  7.  
  8. <script>
  9. var app = angular.module('myApp', []);
  10. app.controller('myCtrl', function($scope) {
  11. $scope.names = ["Google", "Runoob", "Taobao"];
  12. });
  13. </script>

尝试一下 »

ng-init 设置默认选中值。


ng-options 与 ng-repeat

我们也可以使用ng-repeat 指令来创建下拉列表:

实例

  1. <select>
  2. <option ng-repeat="x in names">{{x}}</option>
  3. </select>

尝试一下 »

ng-repeat 指令是通过数组来循环 HTML 代码来创建下拉列表,但 ng-options 指令更适合创建下拉列表,它有以下优势:

使用 ng-options 的选项是一个对象, ng-repeat 是一个字符串


应该用哪个更好?

假设我们使用以下对象:

  1. $scope.sites = [
  2. {site : "Google", url : "http://www.google.com"},
  3. {site : "Runoob", url : "http://www.runoob.com"},
  4. {site : "Taobao", url : "http://www.taobao.com"}
  5. ];

ng-repeat 有局限性,选择的值是一个字符串:

实例

使用 ng-repeat:

  1. <select ng-model="selectedSite">
  2. <option ng-repeat="x in sites" value="{{x.url}}">{{x.site}}</option>
  3. </select>
  4.  
  5. <h1>你选择的是: {{selectedSite}}</h1>

尝试一下 »

使用 ng-options 指令,选择的值是一个对象:

实例

使用 ng-options:

  1. <select ng-model="selectedSite" ng-options="x.site for x in sites">
  2. </select>
  3.  
  4. <h1>你选择的是: {{selectedSite.site}}</h1>
  5. <p>网址为: {{selectedSite.url}}</p>

尝试一下 »

当选择值是一个对象时,我们就可以获取更多信息,应用也更灵活。


数据源为对象

前面实例我们使用了数组作为数据源,以下我们将数据对象作为数据源。

  1. $scope.sites = {
  2. site01 : "Google",
  3. site02 : "Runoob",
  4. site03 : "Taobao"
  5. };

ng-options 使用对象有很大的不同,如下所示:

实例

使用对象作为数据源, x 为键(key), y 为值(value):

  1. <select ng-model="selectedSite" ng-options="x for (x, y) in sites">
  2. </select>
  3.  
  4. <h1>你选择的值是: {{selectedSite}}</h1>

尝试一下 »

你选择的值为在 key-value 对中的 value

value 在 key-value 对中也可以是个对象:

实例

选择的值在 key-value 对的 value 中, 这是它是一个对象:

  1. $scope.cars = {
  2. car01 : {brand : "Ford", model : "Mustang", color : "red"},
  3. car02 : {brand : "Fiat", model : "500", color : "white"},
  4. car03 : {brand : "Volvo", model : "XC90", color : "black"}
  5. };

尝试一下 »

在下拉菜单也可以不使用 key-value 对中的 key , 直接使用对象的属性:

实例

  1. <select ng-model="selectedCar" ng-options="y.brand for (x, y) in cars">
  2. </select>

尝试一下 »

2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
1、
2、 
6.返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

AngularJS:Select的更多相关文章

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

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

  2. angularjs 下select中ng-options使用

    当我有一堆object数据要用下拉框进行显示选择时,可以使用到angularjs中的select中的ng-options的属性.官网网址:https://docs.angularjs.org/api/ ...

  3. Sql Server系列:Select基本语句

    1 T-SQL中SELECT语法结构 <SELECT statement> ::= [WITH <common_table_expression> [,...n]] <q ...

  4. SQL Server(三):Select语句

      1.最基本的Select语句: Select [Top n [With Ties]] <*|Column_Name [As <Alias>][, ...n]> From & ...

  5. SQL初级语法 [查询: SELECT]

    SQL查询: SELECT 普通查询: SELECT "栏位名" FROM "表格名" DISTINCT 查询:(去掉重复) SELECT DISTINCT & ...

  6. SQL笔记1:SELECT及SELECT高级应用

      T-SQL笔记1:SELECT及SELECT高级应用 本章摘要 1:安装AdventureWorks 2:基本运算符和表达式 3:between 4:like 5:escape 6:TOP 7:G ...

  7. Insert后返回自动插入的生成的ID:select @@identity

    当运行完插入语句后,执行select @@identity就可得到自动生成的id 如果是sql server 最好用:select SCOPE_IDENTITY() as id因为@@identity ...

  8. 异步套接字基础:select函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET

    参考:[原创]技术系列之 网络模型(三)多路复用模型 select函数 select函数: 系统提供select函数来实现多路复用输入/输出模型.原型: #include <sys/time.h ...

  9. linux网络编程:select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET(转)

    从别人的博客中转载过来了这一篇文章,经过重新编辑排版之后展现于此,做一个知识点保存与学习. select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复 ...

随机推荐

  1. HTML5 ——web audio API 音乐可视化(一)

    使用Web Audio API可以对音频进行分析和操作,最终实现一个音频可视化程序. 最终效果请戳这里; 完整版代码请戳这里,如果还看得过眼,请给一个start⭐ 一.API AudioContext ...

  2. MFC,ATL,CLR简介

    MFC.ATL和CLR是VC2005内置的3大库,涵盖了windows的各种开发方法和开发应用.当然关于 C++ 开发的库不止这3个,不过这3个是微软推荐.从编程所处层次而言,WIN32为最底层,其次 ...

  3. 【Python】小技巧

    1. 退出python shell 在windows下,Ctrl + Z退出 在unix下,Ctrl + D退出

  4. CountDownLatch闭锁

    CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 闭锁可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某些活动直到其他活动都完 ...

  5. easyui tabs页签显示在底部属性

    data-options="tabPosition:'bottom'" 如果没有该属性  页签默认显示在最上面,效果如下 当加上了该属性  ,页签会出现在底部

  6. LeetCode OJ:Merge Sorted Array(合并排序的数组)

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...

  7. 条款28:避免返回handles指向对象的内部成分。

    首先看看下面这个例子: class Point{ public: point(int x, int y); ... void setX(int newVal); void setY(int newVa ...

  8. YYMMDD转YYYY-MM-DD

    date.replace(/(\d{4})(\d{2})(\d{2})/g,'$1-$2-$3');

  9. Myeclipse10 安装Aptana插件

    安装步骤: 1.下载aptana3.2 Eclipse Plugin插件. 下载地址:http://update1.aptana.org/studio/3.2/024747/index.html 2. ...

  10. PostgreSQL upset解决在插入过程中重复数据冲突

    关于重复行问题: 在SQL Server中则可以自动排出重复行,不需要处理.在Oracle中经常遇到upsert语法,来排出冲突行.在PostgreSQL中,也需要手动排出重复行,否则会爆出错误,up ...