4つの部分を持つアコーデオンでデータをフィルタリングする必要があります。私のコードのサンプルは、(私はacordeonコードと私のコードでは、いくつかの異なる部分をクリアした)以下であるAngularJSを使用した複数の定義リストでの複数の配列のフィルタリング
<input type="text" ng-model="searchText" placeholder="Filter">
<dl>
<dt ng-repeat-start="mainCategory in mainCategories | filter:searchText" >
{{mainCategory.Name}}
</dt>
<dd ng-repeat-end="">
<dl>
<dt ng-repeat-start="subCategory in subCategories[mainCategory.ID] | filter:searchText" >
{{subCategory.Name}}
</dt>
<dd ng-repeat-end="">
<dl>
<dt ng-repeat-start="lesson in subCategoryLessons[subCategory.ID] | filter:searchText" >
{{lesson.Name}}
</dt>
<dd ng-repeat-end="">
<dl>
<dt ng-repeat-start="subLesson in subLessons[lesson.ID] | filter:searchText">
{{subLesson.Header}}
</dt>
<dd ng-repeat-end="">
{{subLesson.Content}}
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
</dd>
</dl>
サブカテゴリ、レッスンとSubLesson件のデータが別のサービスから来ていると、彼らは異なるアレイに保存されています。
このビューのデータをフィルタリングしたいのですが、すべてのデータが含まれています。しかし、私がsubLessonパート(最下位カテゴリー)に何か言葉を書くと、アコーデオンを開いてサブレロンのデータに到達するために親部品(html要素)を参照する必要があります。
このようなフィルタを作成できますか?すべてのデータは、JSON形式のWebサービスから取得されます。私はajaxの待ち時間を考慮する必要があります。
私が言うのを忘れて、サブカテゴリ、レッスンとSubLesson件のデータがから来ています別のサービスと彼らは別の配列を保存されます。私は私の質問にこれを追加するつもりです。そのために残念。 – Sam
@Sam私はそれを得ましたが、あなたはそれらをマージしてネストする必要があります - 単純なループがトリックを行います。 AFAIK、あなたは他の選択肢がありません – Bigood
ああ私は今それを見る。私はこれを試してみるつもりです。ありがとう。 – Sam