Ich habe eine Elternliste mit einem Dropdown-Kästchen, das Sie sehen können, wenn Sie auf die Liste klicken. Ich möchte die Elternlistenklasse "aktiv" geben, wenn eines der Kontrollkästchen aktiviert ist. Was jetzt passiert, ist, dass ich mehrere Listen habe. Wenn das Kontrollkästchen aktiviert ist, erhalten alle Listen diese Klasse, wenn ich nur die Liste der Kontrollkästchen haben möchte, um die "aktive" Klasse zu erhalten. Wie kann ich dies umgestalten, so dass nur die "aktive" Klasse der übergeordneten Liste zugewiesen wird, nicht alle Listen?Wenden Sie ng-class auf das übergeordnete Element an, wenn auf ein Kontrollkästchen mit Angular geklickt wird?
HTML:
<ul ng-repeat="type in filterTypes">
<li ng-repeat="filter in type.filters" ng-class="{active:checked}">{{filter.value | uppercase}}
<ul>
<li ng-repeat="option in filter.options">
<label>
//if any checkbox is checked, the active class should be given to the parentd list at the way top.
<input type="checkbox" ng-model="checked"/>
{{option}}
</label>
</li>
</ul>
</li>
</ul>
Richtlinie:
return {
restrict: "E",
templateUrl: 'scripts/directives/all-filters.html',
link: function(scope, el, attr) {
scope.filterTypes = dummyData.filters;
}
}
ändern 'checked' zu' Filter. geprüft "in den Modell- und Klassenrichtlinien. –
@JamesBuck Dadurch werden alle Kontrollkästchen aktiviert (true). –