AngularJS Select

AngularJS Select(选择框)

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

使用 ng-options 创建选择框

在 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>


ng-options 与 ng-repeat

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

实例

<select>
    <option ng-repeat="x in names">{{x}}</option>
</select>

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

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


应该用哪个更好?

假设我们使用以下对象:

$scope.sites = [

{site : "Google", url : "http://www.google.com"},

{site : "Runoob", url : "http://www.runoob.com"},

{site : "Taobao", url : "http://www.taobao.com"}];

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

实例

使用 ng-repeat:

<select ng-model="selectedSite">
    <option ng-repeat="x in sites" value="{{x.url}}">{{x.site}}</option>
</select>

<h1>你选择的是: {{selectedSite}}</h1>

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

实例

使用 ng-options:

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

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


数据源为对象

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

$scope.sites = {

site01 : "Google",

site02 : "Runoob",

site03 : "Taobao"};

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

实例

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

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

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

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

实例

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

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

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

实例

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

 

时间: 2024-10-21 16:43:48

AngularJS Select的相关文章

angularjs select 三级联动

<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>angularjs select 三级联动</title> <script type="text/javascript" src="http://cdn.angularjs.cn/angularjs/1.3.0-beta.17/angular.js"&

AngularJS Select(选择框)

AngularJS 可以使用数组或对象创建一个下拉列表选项. 使用 ng-options 创建选择框 在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,如下实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angula

angularjs select标签中参数的传递

今天做的一个demo中需要一个下拉选择框,并根据所选择的内容向服务器发送请求. 首先百度了一下angularjs关于select的使用,一种采用ng-repeat的方式. <select ng-model="stuTerm"> <option ng-repeat="term in terms" value="{{term.val}}">{{term.text}}</option> </select>

AngularJS select中ngOptions用法详解

一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in array select as label for value inarray labelgroup bygroupforvalueinarray selectaslabelgroup bygroupforvalueinarray select as label group bygroup for value in array track bytrackexpr 对

angularJs select ng-options 绑定int型的时候绑定失效的坑

<select ng-model="editObj.AdType" ng-options=" type.id as type.name for type in adTypes "></select> 其中type.id是int,这样绑定后下拉框会生成.但是不管editObj.AdType的值是什么都无法绑定成功. 原因在于ng-options会把int型自动转成string.我们要把它转回来就可以了. <select ng-model=

Angularjs select总结

定义列表和选中项 $scope.Current = "Writing code"//定义选中项 $scope.TotalItems =[//定义列表 { id: 1, type: "Work", name: "Writing code" }, { id: 2, type: "Work", name: "Testing code" }, { id: 3, type: "Work", nam

AngularJS select中ngOptions用法详解【转】

一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in array  select as label for value in array label group by group for value in array select as label group by group for value in array select as label group by group for value in array tr

Angularjs基础(五)

AngularJS Select(选项框) AngularJS 可是使用数组或对象创建一个下拉列表选项.使用ng-options创建选项框 在AngularJS 中我们可以使用ng-option指令来创建一个下拉列表,列表通过对象和数组循环输出 实例: <div ng-app="myApp" ng-controller="myCtrl"> <select ng-model="selectedName" ng-options=&q

AngularJS学习篇(十)

AngularJS Select(选择框) 使用 ng-options 创建选择框 在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,如下实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="angular-1.6.3/angular.js"></scr