AngularJS Select(选择框)

来源:互联网 发布:c语言算法是什么 编辑:程序博客网 时间:2024/05/23 20:58

1、Select概述

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

<div ng-app="myApp" ng-controller="myCtrl">    <select ng-model="selectedName" ng-options="x for x in names">    </select></div><script>    var app = angular.module('myApp', []);    app.controller('myCtrl', function($scope) {        $scope.names = ["Google", "Runoob", "Taobao"];    });</script>

2、数据源为对象

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

<div ng-app="myApp" ng-controller="myCtrl">    <p>选择一辆车:</p>    <select ng-model="selectedCar" ng-options="x for (x, y) in cars">    </select>    <h1>你选择的是: {{selectedCar.brand}}</h1>    <h2>模型: {{selectedCar.model}}</h2>    <h3>颜色: {{selectedCar.color}}</h3>    <p>注意选中的值是一个对象。</p></div><script>    var app = angular.module('myApp', []);    app.controller('myCtrl', function($scope) {        $scope.cars = {            car01 : {brand : "Ford", model : "Mustang", color : "red"},            car02 : {brand : "Fiat", model : "500", color : "white"},            car03 : {brand : "Volvo", model : "XC90", color : "black"}        }    });</script>

选择的值为在 key-value 对中的value对象一个属性:

<div ng-app="myApp" ng-controller="myCtrl">    <p>选择一辆车:</p>    <select ng-model="selectedCar" ng-options="y.brand for (x, y) in cars">    </select>    <p>你选择的是: {{selectedCar.brand}}</p>    <p>型号为: {{selectedCar.model}}</p>    <p>颜色为: {{selectedCar.color}}</p>    <p>下拉列表中的选项也可以是对象的属性。</p></div><script>    var app = angular.module('myApp', []);    app.controller('myCtrl', function($scope) {        $scope.cars = {            car01 : {brand : "Ford", model : "Mustang", color : "red"},            car02 : {brand : "Fiat", model : "500", color : "white"},            car03 : {brand : "Volvo", model : "XC90", color : "black"}        }    });</script>

3、ng-options 与 ng-repeat

也可以使用ng-repeat 指令来创建下拉列表。
ng-repeat 指令是通过数组来循环 HTML 代码来创建下拉列表,但 ng-options 指令更适合创建下拉列表,它有以下优势:
使用 ng-options 的选项的一个对象, ng-repeat 是一个字符串。

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

<div ng-app="myApp" ng-controller="myCtrl">    <p>选择网站:</p>    <select ng-model="selectedSite">    <option ng-repeat="x in sites" value="{{x.url}}">{{x.site}}</option>    </select>    <h1>你选择的是: {{selectedSite}}</h1></div><script>var app = angular.module('myApp', []);app.controller('myCtrl', function($scope) {   $scope.sites = [        {site : "Google", url : "http://www.google.com"},        {site : "Runoob", url : "http://www.runoob.com"},        {site : "Taobao", url : "http://www.taobao.com"}    ];});</script>

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

<div ng-app="myApp" ng-controller="myCtrl"><p>选择网站:</p><select ng-model="selectedSite" ng-options="x.site for x in sites"></select><h1>你选择的是: {{selectedSite.site}}</h1><p>网址为: {{selectedSite.url}}</p></div><script>var app = angular.module('myApp', []);app.controller('myCtrl', function($scope) {   $scope.sites = [        {site : "Google", url : "http://www.google.com"},        {site : "Runoob", url : "http://www.runoob.com"},        {site : "Taobao", url : "http://www.taobao.com"}    ];});</script>
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 贴的手机膜翘角怎么办 全屏膜出现气泡怎么办 手机膜的气泡怎么办 透明手机壳气泡怎么办 钢化膜边缘有气泡怎么办 贴钢化膜边缘有气泡怎么办 钢化膜边上有泡泡怎么办 贴钢化膜周边有气泡怎么办 钢化膜里面有气泡怎么办 手机保护膜破了怎么办 手机触摸屏没反应怎么办 苹果手机触屏坏了怎么办 手机边缘有气泡怎么办 手机膜有空气怎么办 电脑膜有气泡怎么办 汽车贴膜起泡怎么办 汽车玻璃膜用久了起泡怎么办 车窗玻璃膜起泡怎么办 新车贴膜气泡怎么办 贴手机钢化膜有灰尘怎么办 戒指砖石掉了怎么办 寄手机没有包装怎么办 手机背面有划痕怎么办 oopo手机声音小怎么办 手机屏幕被划了怎么办 oppo手机组装屏卡顿怎么办 金立手机卡顿怎么办 vivo手机有点卡怎么办 oppo手机有点卡怎么办 mx6指纹不匹配怎么办 小米手机cpu太高好烫怎么办 魅族mx6卡顿怎么办 魅族mx5反应慢怎么办 魅族玩王者荣耀卡怎么办 魅族pro7信号差怎么办 魅族手机信号不好怎么办 魅族信号不行怎么办 魅族e4g信号弱怎么办 魅族u204g信号差怎么办 魅族mx6网速慢怎么办 魅族mx5屏幕失灵怎么办