<li ng-class="{selected: "checked==true"}" ng-repeat="item in data">
<span>item.name</span>
<input ng-model="checked"/>
</li>
Chcę dodać klasę „wybraną”, jeśli pole wyboru jest zaznaczone. Ale powyższy kod dodał wybraną klasę, zanim kliknąłem pole wyboru, co jest nie tak?
Odpowiedzi:
0 dla odpowiedzi № 1Cóż, w pytaniu wspomniałeś, że twoje wejście jest polem wyboru. W przypadku pominięcia wpisu traktuje to jako wprowadzanie tekstu.
Twój wkład powinien wyglądać tak.
<input type="checkbox" ng-model="checked"/>
Teraz, jeśli użyjesz modelu ng dla pola wyboru, zmienna odpowiadająca, która jest checked
tutaj może tylko trzymać true
lub false
, oba są logiczne. Więc nie musisz ich porównywać ng-class
.
Tylko
<li ng-class="{selected: checked}" ng-repeat="item in data">
wystarczyłoby.
Tutaj to plunker, który dla ciebie stworzyłem.