AngularJS menggunakan ngOption untuk melaksanakan contoh senarai drop-down code_AngularJS

WBOY
Lepaskan: 2016-05-16 15:18:35
asal
1389 orang telah melayarinya

Penggunaan senarai lungsur turun dengan mudah

Arahan

ng-option sangat mudah digunakan Anda hanya perlu mengikat dua atribut:

Salah satunya ialah ng-model yang digunakan untuk mendapatkan nilai yang dipilih;

Yang lain ialah tatasusunan elemen yang digunakan oleh ng-options untuk menentukan senarai juntai bawah.


<select ng-model="engineer.currentActivity" class="form-control" ng-options="act for act in activities"></select> 
Salin selepas log masuk
Pernyataan di atas adalah untuk melaksanakan pengikatan data dua hala antara nilai yang dipilih dan engineer.currentActivity, dan kemudian pilihan dalam senarai ialah setiap nilai dalam aktiviti. Data adalah seperti berikut:


$scope.engineer = {
name: "Dani",
currentActivity: "Fixing bugs"
};
$scope.activities =
[
"Writing code",
"Testing code",
"Fixing bugs",
"Dancing"
]; 
Salin selepas log masuk
Keputusan operasi adalah seperti berikut:



Demi kecantikan, bootstrap dipetik di sini.


<html ng-app="myApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css"> 
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://apps.bdimg.com/libs/bootstrap/3.3.0/js/bootstrap.min.js"></script>
</head>
<body>
<div ng-controller="EngineeringController" class="container">
<div class="col-md-12">
{{engineer.name}} is currently: {{ engineer.currentActivity}}
</div>
<div class="col-md-4">
<label for="name">Choose a new activity:</label>
<select ng-model="engineer.currentActivity" class="form-control"
ng-options="act for act in activities"> 
</select>
</div>
</div>
<script type="text/javascript">
var myAppModule = angular.module("myApp",[]);
myAppModule.controller("EngineeringController",["$scope",function($scope){
$scope.engineer = {
name: "Dani",
currentActivity: "Fixing bugs"
};
$scope.activities =
[
"Writing code",
"Testing code",
"Fixing bugs",
"Dancing"
];
}]);
</script>
</body>
</html> 
Salin selepas log masuk
Objek kompleks, nama senarai tersuai


Kadangkala senarai juntai bawah bukanlah tatasusunan rentetan yang mudah, tetapi mungkin objek json, contohnya:


$scope.activities =
[
{ id: 1, type: "Work" , name: "Writing code" },
{ id: 2, type: "Work" , name: "Testing code" },
{ id: 3, type: "Work" , name: "Fixing bugs" },
{ id: 4, type: "Play" , name: "Dancing" }
]; 
Salin selepas log masuk
Pada masa ini, data terikat mestilah dalam format yang sama seperti data di sini, sebagai contoh, salin terus salah satu daripadanya:


$scope.engineer = {
name: "Dani" ,
currentActivity: {
id: 3,
type: "Work" ,
name: "Fixing bugs"
}
}; 
Salin selepas log masuk
Sudah tentu, anda juga boleh menentukannya secara langsung sebagai:


$scope.engineer = {currentActivity:activities[3]} 
Salin selepas log masuk
Kemudian dalam arahan anda boleh mengulangi nama-nama kotak lungsur di mana senarai itu disambung


<select 
ng-model = "engineer.currentActivity"
class="form-control"
ng-options = "a.name +' (' + a.type + ')' for a in activities" > 
</select > 
Salin selepas log masuk
Kesan operasi adalah seperti berikut:



Semua kod adalah seperti berikut:






 



{{engineer.name}} is currently: {{ engineer.currentActivity}}
<select ng-model = "engineer.currentActivity" class="form-control" ng-options = "a.name +' (' + a.type + ')' for a in activities" > </select >
Salin selepas log masuk
Melaksanakan pengumpulan senarai lungsur turun


Malah, pengelompokan sangat serupa dengan contoh sebelumnya. Cuma tukar nilai pilihan-ng dalam ruang kepada yang berikut:


<select ng-model = "engineer.currentActivity"
class="form-control"
ng-options = "a.name group by a.type for a in activities" > 
</select > 
Salin selepas log masuk
Tambah kumpulan mengikut dan ia akan dikumpulkan mengikut nilai berikut

Semua kod:






 



{{engineer.name}} is currently: {{ engineer.currentActivity}}
<select ng-model = "engineer.currentActivity" class="form-control" ng-options = "a.name group by a.type for a in activities" > </select >
Salin selepas log masuk
Kenal pasti melalui id


Oleh kerana model ng sebelumnya adalah bersamaan dengan menetapkan nilai pada mulanya. Nilai awal ini ditulis ganti apabila anda memilih pilihan senarai juntai bawah.


Jadi lebih kerap id akan digunakan untuk pengenalan, jadi apabila memulakan tugasan, anda hanya perlu menetapkan id.


$scope.engineer = {
currentActivityId: 3
};
$scope.activities =
[
{ id: 1, type: "Work" , name: "Writing code" },
{ id: 2, type: "Work" , name: "Testing code" },
{ id: 3, type: "Work" , name: "Fixing bugs" },
{ id: 4, type: "Play" , name: "Dancing" }
]; 
Salin selepas log masuk
Arahan boleh ditulis dalam format berikut


<select 
ng-model = "engineer.currentActivityId"
class="form-control"
ng-options = "a.id as a.name group by a.type for a in activities" > 
</select > 
Salin selepas log masuk
Dengan nilai di hadapan sebagai, anda boleh menentukan satu-satunya pilihan


Semua kod adalah seperti berikut:





 



current is: {{ engineer.currentActivityId}}
<select ng-model = "engineer.currentActivityId" class="form-control" ng-options = "a.id as a.name group by a.type for a in activities" > </select >
Salin selepas log masuk
Di atas ialah contoh kod yang dikongsi oleh editor dengan anda kerana menggunakan ngOption untuk melaksanakan senarai juntai bawah dalam AngularJS saya harap ia akan membantu anda.

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan