Es scheint, dass sich das Verhalten von angular mit dem ausgewählten Attribut bei jeder Hauptversion geändert hat. Also suche ich einfach jemanden, der mir sagt, ob dies in der Version 1.5.x mit ng-Optionen statt mit ng-repeat erreichbar ist.Ausgewähltes Attribut für Einzel-/Mehrfachauswahl mit ng-Optionen festlegen
Was ich versuche zu tun: Winkel Haben html wie das schaffen folgende (so dass sie durch ein jQuery-Plugin interpretiert werden kann)
<select multiple="multiple"...>
<option value="abc123" label="Justin" selected="selected">Justin</option>
</select>
Ich habe viele Variationen dieses
versucht<select ms-multi-listbox multiple="multiple" class="multi-select"
id="ym" name="ym" ng-model="groupCtrl.memSelection"
ng-options="mem as mem.displayName for mem in groupCtrl.selectableMembers track by mem.id">
ohne Glück.
das Modell sieht wie folgt aus:
groupCtrl.memSelection =["abc123"];//inbound from api as is selectableMembers
Hier ist ein zupfen Ich habe mit gespielt (versuchen Sie die abgewinkelte Ausführung für noch mehr Verwirrung zu ändern): Plunker
Alle Ideen sind willkommen .. I Hauptsächlich wollte ich ng-repeat vermeiden, da es in längeren Listen viel Overhead hat, aber offensichtlich langsam ist besser als nicht funktionieren, also werde ich es benutzen, bis ich lerne, wie man das mit ng-Optionen macht.
Danke!
edit: Hier ist eine ng-Wiederholung, die das Ergebnis mag ich erreicht:
<option ng-repeat="mem in groupCtrl.selectableMembers" value="{{mem.id}}" label="{{mem.displayName}}" ng-selected="groupCtrl.memSelection.indexOf(mem.id)>=0">{{mem.displayName}}</option>
enter code here
Wenn ich Sie richtig verstehe, möchten Sie ein Attribut basierend auf Auswahl festlegen. Sie benötigen dafür eine benutzerdefinierte Anweisung. – Kyle
Ja, ich möchte das Attribut 'selected' auf dem Options-Tag setzen. Angular tut dies in einigen Fällen (und einigen Versionen) für Sie, wenn Ihr Modell auf einen Wert in der Liste initialisiert wird. –
Ihr Plunker-Link ist falsch. –