javascript - angularjs rootscope




Wählen Sie den Standardwert aus, damit das Dropdown-Menü nicht funktioniert, indem Sie in angualrjs "track by" verwenden (2)

Das wird funktionieren:

<select name="mySelect" id="mySelect" ng-options="option.name for option in data.availableOptions track by option.id" ng-model="data.selectedOption"></select>

$scope.data = { availableOptions: [ {id: 1, name: 'Option A'}, {id: 2, name: 'Option B'}, {id: 3, name: 'Option C'} ], selectedOption: {id: 2, name: 'Option B'} };

http://plnkr.co/edit/yOPa3hb2nSgkpOfu8NbT?p=preview

Ich verwende track by , um seltsame Werte zu vermeiden ::string , die an value angehängt sind, aber wenn ich standardmäßig dropdown anwähle, wird dropdown nicht ausgewählt .. das ist mein Plunker

Beispiel Plunker


(function(angular) {
  'use strict';
angular.module('defaultValueSelect', [])
  .controller('ExampleController', ['$scope', function($scope) {
    $scope.data = {
     availableOptions: [
       {id: '1', name: 'Option A'},
       {id: '2', name: 'Option B'},
       {id: '3', name: 'Option C'}
     ],
     selectedOption: '2' //This sets the default value of the select in the ui
     };
 }]);
})(window.angular);
<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example - example-select-with-default-values-production</title>
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.0-rc.0/angular.min.js"></script>
  <script src="script.js"></script>
</head>
<body ng-app="defaultValueSelect">
  <div ng-controller="ExampleController">
  <form name="myForm">
    <label for="mySelect">Make a choice:</label>
   
      
    <select ng-model="data.selectedOption"> 
       <option ng-repeat="option in data.availableOptions track by option.id" value="{{option.id}}">{{ option.name}}</option> 
    </select>
  </form>
  <hr>
  <tt>option = {{data.selectedOption}}</tt><br/>
</div>
</body>
</html>

Arbeitsschnipsel Ihrer Demo

Bitte ändern Sie Ihr <select> -Tag wie folgt

<select ng-model="data.selectedOption"> 
   <option ng-repeat="option in data.availableOptions track by option.id" value="{{option.id}}">{{ option.name}}</option> 
</select>




angularjs-scope