2017-02-01 3 views
1

Ich versuche, auf den Wert der Option außerhalb von ng-repeat scope zuzugreifen. hier ist jsFiddleZugriff auf ausgewählten Optionswert außerhalb des Umfangs von ng-repeat

Wenn Sie es betrachten, kann ich ID aber nicht Name zugreifen. Wie kann ich auf den Namen außerhalb des Geltungsbereiches von ng-repeat zugreifen?

<div ng-controller="csrClrt"> 
    <md-input-container> 
     <label>Face Style:</label> 
     <md-select ng-model="style" ng-change="f_style()"> 
      <md-option ng-value="user.id" ng:repeat="user in styles">{{user.name}}</md-option> 
     </md-select> 
    </md-input-container> 
    <div> 
     Id:{{style}} 
     <br/> Want to Display Name {{name}} 
    </div> 
</div> 

AngularJS

angular.module('MyApp', ['ngMaterial']) 
.controller('csrClrt', function ($scope) { 

    stylesdata=[{name:"a",id:0},{name:"b",id:1},{name:"c",id:3}]; 
    var style=[]; 
    for(var i=0;i<stylesdata.length;i++) 
    { 
     style.push({ 
     name:stylesdata[i].name, 
     id:stylesdata[i].id 
     }) 
    } 
    $scope.styles=style; 
}) 

Antwort

1

ng-value="user" Verwenden Sie einfach statt ng-value="user.id" und fügen ng-model-options="{trackBy: '$value.id'}" tiefe Gleichheit zu behandeln:

<md-select ng-model="style" ng-change="f_style()" ng-model-options="{trackBy: '$value.id'}"> 
    <md-option ng-value="user" ng:repeat="user in styles">{{user.name}}</md-option> 
</md-select> 

Arbeits Geige: https://jsfiddle.net/ohotng3f/2/

Auch finden 0 Abschnitt entsprechendenals Referenz

+0

Danke Mann! das hat wirklich geholfen. – user3288891

Verwandte Themen