AngularJS बॉक्स का चयन करें
AngularJS आपको किसी ऐरे या ऑब्जेक्ट में आइटम्स के आधार पर ड्रॉपडाउन सूचियां बनाने देता है।
एनजी-विकल्पों का उपयोग करके एक चयन बॉक्स बनाना
यदि आप AngularJS में किसी ऑब्जेक्ट या सरणी के आधार पर ड्रॉपडाउन सूची बनाना चाहते हैं, तो आपको ng-options
निर्देश का उपयोग करना चाहिए:
उदाहरण
<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 = ["Emil", "Tobias",
"Linus"];
});
</script>
ऑफ-ऑप्शंस बनाम ऑफ-रिपीट
ng-repeat
आप समान ड्रॉपडाउन सूची बनाने के लिए निर्देश का भी उपयोग कर सकते हैं :
उदाहरण
<select>
<option ng-repeat="x in names">{{x}}</option>
</select>
क्योंकि ng-repeat
निर्देश एक सरणी में प्रत्येक आइटम के लिए HTML कोड के एक ब्लॉक को दोहराता है, इसका उपयोग ड्रॉपडाउन सूची में विकल्प बनाने के लिए किया जा सकता है, लेकिन ng-options
निर्देश विशेष रूप से विकल्पों के साथ ड्रॉपडाउन सूची को भरने के लिए बनाया गया था।
मैं क्या उपयोग करता हूँ?
आप ng-repeat
निर्देश और निर्देश दोनों का उपयोग कर सकते हैं ng-options
:
मान लें कि आपके पास वस्तुओं की एक सरणी है:
$scope.cars = [
{model : "Ford Mustang", color :
"red"},
{model : "Fiat 500", color : "white"},
{model : "Volvo XC90", color : "black"}
];
उदाहरण
का उपयोग करना ng-repeat
:
<select ng-model="selectedCar">
<option ng-repeat="x in cars" value="{{x.model}}">{{x.model}}</option>
</select>
<h1>You selected: {{selectedCar}}</h1>
किसी वस्तु के रूप में मान का उपयोग करते समय, इसके ng-value
अंदर का उपयोग करें value
:
उदाहरण
ng-repeat
एक वस्तु के रूप में उपयोग करना :
<select ng-model="selectedCar">
<option ng-repeat="x in cars" ng-value="{{x}}">{{x.model}}</option>
</select>
<h1>You selected a {{selectedCar.color}} {{selectedCar.model}}</h1>
उदाहरण
का उपयोग करना ng-options
:
<select ng-model="selectedCar" ng-options="x.model for x in cars">
</select>
<h1>You selected: {{selectedCar.model}}</h1>
<p>Its color is: {{selectedCar.color}}</p>
जब चयनित मान एक ऑब्जेक्ट होता है, तो इसमें अधिक जानकारी हो सकती है, और आपका एप्लिकेशन अधिक लचीला हो सकता है।
हम ng-options
इस ट्यूटोरियल में निर्देश का उपयोग करेंगे।
एक वस्तु के रूप में डेटा स्रोत
पिछले उदाहरणों में डेटा स्रोत एक सरणी था, लेकिन हम किसी ऑब्जेक्ट का उपयोग भी कर सकते हैं।
मान लें कि आपके पास कुंजी-मूल्य जोड़े वाला ऑब्जेक्ट है:
$scope.cars = {
car01 : "Ford",
car02 : "Fiat",
car03 : "Volvo"
};
विशेषता में अभिव्यक्ति ng-options
वस्तुओं के लिए थोड़ा अलग है:
उदाहरण
डेटा स्रोत के रूप में किसी ऑब्जेक्ट का उपयोग करना, x
कुंजी का प्रतिनिधित्व करता है, और
y
मान का प्रतिनिधित्व करता है:
<select ng-model="selectedCar" ng-options="x for (x, y) in cars">
</select>
<h1>You selected: {{selectedCar}}</h1>
चयनित मान हमेशा कुंजी - मान युग्म में मान होगा।
की- वैल्यू पेयर में मान भी एक ऑब्जेक्ट हो सकता है:
उदाहरण
चयनित मान अभी भी एक कुंजी - मान जोड़ी में मान होगा , केवल इस बार यह एक वस्तु है:
$scope.cars = {
car01 : {brand : "Ford", model : "Mustang", color :
"red"},
car02 : {brand : "Fiat", model : "500", color : "white"},
car03 : {brand : "Volvo", model : "XC90", color : "black"}
};
ड्रॉपडाउन सूची में विकल्पों को कुंजी -मूल्य जोड़ी में कुंजी होना जरूरी नहीं है , यह मूल्य या मूल्य वस्तु की संपत्ति भी हो सकती है:
उदाहरण
<select ng-model="selectedCar" ng-options="y.brand for (x, y) in cars">
</select>