親リストには、リストをクリックすると表示されるチェックボックスのドロップダウンがあります。私がしたいのは、いずれかのチェックボックスがチェックされている場合、親リストクラスに「アクティブ」を与えることです。私は複数のリストを持っているので、チェックボックスがオンになっていると、アクティブなクラスを取得するためのチェックボックスのみが必要なときに、すべてのリストがそのクラスを取得します。これをどのようにリファクタリングすれば、すべてのリストではなく、親リストに「アクティブ」クラスだけが与えられますか?Angularを使用してチェックボックスをクリックした場合、親要素にng-classを適用しますか?
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>
指令:
return {
restrict: "E",
templateUrl: 'scripts/directives/all-filters.html',
link: function(scope, el, attr) {
scope.filterTypes = dummyData.filters;
}
}
変更' checked'を返す場合は、アクティブなクラスを適用チェックする機能。モデルとクラスのディレクティブで「チェック」されます。 –
@JamesBuckこれにより、すべてのチェックボックスがチェックされます(true)。 –