我的问题如下: 这是我显示下拉菜单的html代码:
<a href="#" class="dropdown-toggle" data-toggle="dropdown" ng-click="getExercise()">Semester 1<b class="caret"></b></a>
<ul class="dropdown-menu multi-level">
<li class="dropdown-submenu">
<a href="#Opdracht" class="dropdown-toggle" data-toggle="collapse" ng-repeat="item in ex | orderBy: 'week'" ng-click="getExercise(item.week)">week {{item.week}}</a>
<!--<ul class="dropdown-menu">
<li><a href="#Opdracht" data-toggle="dropdown" ng-click="getExercise(1)">Labo 1</a></li>
</ul>-->
</li>
注意我如何使用getExercise()
获取NoSQL数据库中的所有练习,然后为每个练习创建一个<a>
标记,并将其属性“周”的响应值作为其内容。
另请注意,这有一个href=#Opdracht
所以基本上点击它会打开名为Opdracht的面板。此外,这是我的问题开始的地方,当您在下拉菜单中单击所选周时,我再次调用getExercise()方法,但这次我给出一个参数,即“week”属性的值。这将在我的NoSQL数据库中搜索一个文件,其中“week”的值等于参数值。例如:如果我点击“第1周”,我将调用带有参数1的getExercise(1)来解析带有“week = 1”的文档。
#Opdracht面板的代码发布在:
<div class="container">
<div id="Opdracht" class="collapse">
<div class="panel panel-default">
<div class="panel-heading text-center">{{ex.title}}</div>
<div class="panel-body">
<ul class="list-group">
<li class="list-group-item" ng-repeat="(key, val) in ex" ng-hide="$index<3">{{key}}: {{val}}</li>
<li class="list-group-item">Totale score: {{ex.score + ex.extra_score}}</li>
</ul>
</div>
<div class="panel-footer">
<a href="#Opdracht" class="btn btn-default" data-toggle="collapse">Close</a>
</div>
</div>
</div>
</div>
这是主要问题:
当我点击“第1周”时,我会正确显示正确信息的面板。但是当我点击导航栏中的“第一学期”时。我将呼吁getExercise()
再次解析所有文档以填写下拉菜单。但与此同时,所有记录都将显示在#Opdracht
面板中,因为我会解析所有记录,因此范围将被重置。
我如何解决这个问题,以便即使我再次点击第一学期后,#Opdracht面板的显示内容仍保持不变?