2017-09-18 2 views
1

ich eine ng-Wiederholung aller Benutzer gemacht hat, aber was ich will, ist, dass er aktuelle Benutzer ausgewähltAngular JS - Wählen Sie die Option wählen Sie die Option durch Wert id

<select id="taskUser" class="form-control" 
      multiple="multiple" 
      ng-model="taskUser" 
      ng-options="user.ID as user.Name for user in header.users" 
      > 
    </select> 

Das ist mein Repeater und ich zeigen, wie te Liste wird wie folgt aussehen:

<select id="taskUser" class="form-control ng-pristine ng-untouched ng-valid ng-empty" multiple="multiple" ng-model="taskUser" ng-init=" users = header.users[2].id" ng-options="user.ID as user.Name for user in header.users"> 
    <option label="User 1" value="string:1">User 1</option> 
    <option label="User 2" value="string:2">User 2</option> 
    <option label="User 3" value="string:3">User 3</option> 
</select> 

um den aktuellen Benutzer-ID zu erhalten i verwendet {{header.user.ID}} als ich das Ergebnis nur bekommen: 3

das bedeutet, dass dieser Bedarf ausgewählt werden

<option label="User 3" value="string:3">User 3</option> 

Antwort

1

$scope.taskUser sollte Liste und ist definiert als [3] sein, weil Sie multiple

Fiddle Demo


Voll Code verwenden:

function MyCtrl($scope, $timeout) { 

$scope.header = { 
    users:[ 
    {ID: 1, Name: "AAA"}, 
    {ID: 2, Name: "BBB"}, 
    {ID: 3, Name: "CCC"} 
    ] 
}; 
$scope.taskUser = [3]; 
} 

HTML

<select id="taskUser" class="form-control" 
      multiple="multiple" 
      ng-model="taskUser" 
      ng-options="user.ID as user.Name for user in header.users" 
      > 
    </select> 

    <pre>taskUser: {{taskUser|json}}</pre> 
1

Sie müssen den ausgewählten Wert in einem Array definieren $scope.taskUser = [3];

var myapp = angular.module('myapp', []); 
 
myapp.controller('FirstCtrl', function ($scope) { 
 
    $scope.header = {}; 
 
    $scope.header.users = [ 
 
     { ID: 1, Name: 'John' }, 
 
     { ID: 2, Name: 'Rocky' }, 
 
     { ID: 3, Name: 'John'}, 
 
     { ID: 4, Name: 'Ben' } 
 
    ]; 
 
    
 
    $scope.taskUser = [3]; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myapp"> 
 
    <fieldset ng-controller="FirstCtrl"> 
 
     <select id="taskUser" class="form-control" 
 
      multiple="multiple" 
 
      ng-model="taskUser" 
 
      ng-options="user.ID as user.Name for user in header.users" 
 
      ></select> 
 
    </fieldset> 
 
</div>

Verwandte Themen