Sélectionner plusieurs objets et de les enregistrer à ng-model

HTML:

<select ng-model="contact.groups" 
        ng-options="item.id as item.name for item in groups" 
        ng-multiple="true" multiple>

        <option value="">Choose groups</option>
</select>

contact.groups contient une liste de groupes affectés à la contacter:

[
   {
     id: 145,
     name: 'FooBar
   }
]

groups est une liste de tous les groupes disponibles. Premier problème est que le point.id en ng-options affiche pas la bonne ID de le groupe mais semble compter à partir de 0 (premier groupe dans la liste), 1 (deuxième groupe dans la liste), etc

Deuxième problème est que le contact.les groupes n'est pas pris en compte, il n'y a pas de pré-groupes sélectionnés dans le champ select.

Voir ce violon http://jsfiddle.net/Jy643/1/

Toute idées sur la façon de gérer ce problème?

  • il fonctionne comme prévu, assurez-vous que vous appuyez uniquement le id dans le suivi de la collection, et non l'ensemble de l'objet jsfiddle.net/Jy643/2
  • Ouais mec, il fonctionne. http://jsfiddle.net/zargyle/Jy643/3/
  • J'ai mis à jour le violon, jsfiddle.net/Jy643/4 il ne fonctionne pas si le modèle est livré avec les données
  • Je ne pense pas que ng-multiple="true" ne fait rien?
  • Je pense que vous avez raison - ng-multiple="false" était censé créer une sélection unique de zone de liste, mais c'est un peu capricieux, et il n'y a pas de doc pour ngMultiple que je peux trouver.
  • vous n'êtes pas l'initialiser à droite. Il devrait ressembler à: $champ d'application.contact = {nom: 'Bob', groupes: [143]}