Angular JS Tutorial

AngularJS Select

ЁЯУМ AngularJS Select рдХреНрдпрд╛ рд╣реИ?

AngularJS рдореЗрдВ <select> element рдХреЛ dynamic рдФрд░ interactive рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо ng-model рдФрд░ ng-options directives рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЖрд╕рд╛рди рднрд╛рд╖рд╛ рдореЗрдВ: AngularJS рдХреА рдорджрдж рд╕реЗ рдЖрдк рдРрд╕рд╛ drop-down рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ data рдХреЗ рд╕рд╛рде auto-update, bind, рдФрд░ control рд╣реЛ рд╕рдХреЗред


тЬЕ AngularJS рдореЗрдВ Select рдХреЛ Control рдХрд░рдиреЗ рдХреЗ 2 рддрд░реАрдХреЗ:

рддрд░реАрдХрд╛Description
ng-modelSelect box рдореЗрдВ рдЬреЛ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ, рд╡реЛ рдХрд┐рд╕ variable рдореЗрдВ store рд╣реЛ
ng-optionsSelect рдХреЗ рдЕрдВрджрд░ рдХреМрди-рдХреМрди рд╕реЗ options рджрд┐рдЦреЗрдВ

тЬНя╕П Basic Syntax:

<select ng-model="selectedItem" ng-options="item for item in itemList"></select>

тЬЕ Example 1: Simple Select Box

<div ng-app="myApp" ng-controller="myCtrl">
  <select ng-model="selectedCity" ng-options="city for city in cities"></select>
  <p>You selected: {{ selectedCity }}</p>
</div>

<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
  $scope.cities = ["Delhi", "Mumbai", "Kolkata", "Chennai"];
});
</script>

Output: рдПрдХ dynamic drop-down list рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдХрд┐рд╕реА рднреА city рдХреЛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред


тЬЕ Example 2: Object-Based Select Box

<select ng-model="selectedStudent" ng-options="student.name for student in students"></select>
<p>You selected: {{ selectedStudent.name }} (Age: {{ selectedStudent.age }})</p>
$scope.students = [
  { name: "Amit", age: 22 },
  { name: "Priya", age: 24 },
  { name: "Ravi", age: 21 }
];

Drop-down рдореЗрдВ name рджрд┐рдЦреЗрдЧрд╛, рдФрд░ select рдХрд░рддреЗ рд╣реА рдЙрд╕рдХреЗ рдкреВрд░реЗ object рдХреА detail рдиреАрдЪреЗ рджрд┐рдЦреЗрдЧреАред


тЬЕ Example 3: Default Value Set рдХрд░рдирд╛

$scope.selectedCity = $scope.cities[0];

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдкрд╣рд▓реЗ рд╕реЗ рдХреЛрдИ value selected рд░рд╣реЗрдЧреА рдЬрдм рдкреЗрдЬ load рд╣реЛрдЧрд╛ред


тЬЕ Example 4: track by (Unique Value Binding)

<select ng-model="selected" ng-options="item.name for item in items track by item.id"></select>

рдЗрд╕рд╕реЗ AngularJS рдХреЛ рд╣рд░ option рдХреА unique рдкрд╣рдЪрд╛рди (ID) рдорд┐рд▓рддреА рд╣реИред Performance рдФрд░ comparison fast рд╣реЛрддрд╛ рд╣реИред


тЬЕ Example 5: Add Option Manually (ng-repeat alternative)

<select ng-model="fruit">
  <option ng-repeat="f in fruits" value="{{f}}">{{f}}</option>
</select>

Note: рдпреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди ng-options рдЬрд╝реНрдпрд╛рджрд╛ efficient рдФрд░ clean рд╣реИред


тЪая╕П Common Mistakes Avoid рдХрд░реЗрдВ

тЭМ рд╕рд┐рд░реНрдл <option> рдХрд╛ value рджреЗрдирд╛ рдФрд░ ng-model рдирд╛ bind рдХрд░рдирд╛
тЭМ ng-options рдореЗрдВ object рдХреА рдЬрдЧрд╣ string рджреЗрдирд╛
тЬЕ Always use ng-model рдФрд░ ng-options рд╕рд╛рде рдореЗрдВ


ЁЯза рдЕрднреНрдпрд╛рд╕ рдкреНрд░рд╢реНрди (Exercise)

  1. AngularJS рдореЗрдВ ng-options рдХрд╛ рдХреНрдпрд╛ рдХрд╛рдо рд╣реИ?
  2. рдЕрдЧрд░ рдЖрдк select рдореЗрдВ object show рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ value рдХреИрд╕реЗ bind рд╣реЛрдЧреА?
  3. ng-model рдФрд░ ng-options рдХреЗ рдмрд┐рдирд╛ select рдХреИрд╕реЗ behave рдХрд░реЗрдЧрд╛?

тЬЕ рдЖрдкрдиреЗ рдХреНрдпрд╛ рд╕реАрдЦрд╛?


ЁЯОп рдЕрдм рдЖрдк рдЕрдкрдиреЗ AngularJS App рдореЗрдВ fully dynamic рдФрд░ smart dropdowns рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ!