AngularJS. Cuando select tiene el atributo ng-model, ng-selected no funciona




angularjs-ng-model (2)

Estoy tratando de establecer ng-selected en mi elemento de option , el atributo selected se establece en true , pero la option no está seleccionada, cuando elimino ng-model de select todo funciona.

La pregunta : ¿Cómo hacer la option seleccionada, cuando estoy usando el modelo?

Aquí está mi plunker ( selected no funciona aquí)

Mi código:

var app = angular.module("plunker", []);

app.controller("TestController", ["$scope", function($scope) {
  $scope.test = 1;
  $scope.array = [
        {"id": 1, "name": "first"}, 
        {"id": 2, "name": "second"}, 
        {"id": 3, "name": "third"}
      ];
}]);

Mi plantilla:

  <body ng-controller="TestController">
    Selected item must be {{ array[test-1].name }}
    <select ng-model="myModel">
      <option value="">Choose item..</option>
      <option ng-repeat="item in array" 
              ng-value="item.id" 
              ng-selected="item.id == test">
        {{ item.name }} ({{item.id == test}})
      </option>
    </select>
  </body>

¡Muchas gracias por cualquier ayuda!


No use ngSelected con ngModel

De los documentos:

Nota: ngSelected no interactúa con las directivas <select> y ngModel , solo establece el atributo seleccionado en el elemento. Si está usando ngModel en la selección, no debe usar ngSelected en las opciones, ya que ngModel establecerá el valor de selección y las opciones seleccionadas.

- AngularJS ng-selected API Reference

Ver documentos adicionales:

Ver :


No use ngSelected con ngRepeat. Ir con ngOptions:

  <body ng-controller="TestController">
    Selected item must be {{ array[test-1].name }}
    <select ng-model="myModel" ng-options="item.id as item.name for item in array">
      <option value="">Choose item..</option>
    </select>
  </body>




angularjs-ng-model