AngularJS Select(选择框)


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

1、使用ng-options创建选择框

<div ng-app="my" ng-controller="con">
            <p>请选择城市:</p>
            <select ng-model="selected" ng-options="x for x in city"></select>
            
            
            
        </div>
        <script>
            
            var app=angular.module("my",[]);
            app.controller("con",function($scope){
                
                $scope.city=["北京","上海","广州","福建","深圳"];
            })
        </script>

 ng-options 指令来创建一个下拉列表,列表项是通过对象和数组循环输出。

ng-repeat指令也可以实现下拉列表哦!!!它是通过数组来循环 HTML 代码来创建下拉列表:

实现代码:

	<!--ng-repeat-->
		<div ng-app="my" ng-controller="con">
			<p>请选择城市:</p>
			<select>
				<option ng-repeat="x in city">{{x}}</option>
			</select>
			
			
			
		</div>
		<script>
			
			var app=angular.module("my",[]);
			app.controller("con",function($scope){
				
				$scope.city=["北京","上海","广州","福建","深圳"];
			})
		</script>

  

 由于ng-options指令具有以下的优势,因此它更适合创建下拉列表。

1、ng-options 的选项是一个对象。而ng-repeat 是一个字符串

2、ng-options指令选择的值是一个对象,而ng-repeat具有局限性,选择的值是一个字符串

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

 

<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>
<div ng-app="my" ng-controller="">
<select ng-model="selectedSite">
<option ng-repeat="x in sites" value="{{x.url}}">{{x.site}}</option>
</select>

<h1>你选择的网址:(ng-repeat): {{selectedSite}}</h1>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
   $scope.sites = [
        {site : "Google", url : "http://www.google.com"},
        {site : "bokeyuan", url : "https://www.cnblogs.com"},
        {site : "Taobao", url : "http://www.taobao.com"}
    ];
});
</script>
        

  

原文地址:https://www.cnblogs.com/jiguiyan/p/10638688.html