【发布时间】:2019-04-09 14:48:31
【问题描述】:
这是我的手风琴:
<div class="subdiv-wrapper">
<div class="panel-group" id="accordion1_{{subdivIndex}}" ng-repeat="admin in subdivisions" ng-init="subdivIndex = $index">
<div class="panel panel-default" id="accordion1_{{subdivIndex}}" ng-repeat="admin2 in admin.province">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="accordion1_{{subdivIndex}}" href="#collapse-1{{subdivIndex}}" aria-expanded="false" ><span class="span-left">{{ admin2.name }}</span><span class="span-right">{{ admin2.population }}</span></a>
</h4>
</div>
<div id="collapse-1{{subdivIndex}}" class="panel-collapse collapse">
<div class="panel-body">
<h3>districts</h3>
<div class="panel-group" id="accordion2_{{subdivIndex}}">
<!-- districts -->
<div class="panel panel-default" ng-repeat="admin3 in admin.district" ng-init="subdivIndex2 = $index">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion2_{{subdivIndex}}" href="#collapse-1-1_{{subdivIndex}}_{{subdivIndex2}}"><span class="span-left">{{ admin3.name }}</span><span class="span-right" aria-expanded="false">{{ admin3.population }}</span></a>
</h4>
</div>
<!-- communes -->
<div id="collapse-1-1_{{subdivIndex}}_{{subdivIndex2}}" class="panel-collapse collapse">
<div class="panel-body">
<!-- display 'communes' title here -->
<div ng-repeat="admin4 in admin3.commune"><span class="span-left">{{ admin4.name }}</span><span class="span-right">{{ admin4.population }}</span></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
目前,它的功能不像通常的引导手风琴那样,每个“省”面板都会保持打开状态,直到您再次单击它。打开另一个面板时,它不会自动关闭。当父面板(省)关闭时,内部面板(区域)也不会关闭。
我看到人们使用带有面板 id 的 data-target 来完成这项工作,但我不确定如何将它与我正在使用的动态 $indexes 一起使用。
【问题讨论】:
-
似乎将
id="accordion1_{{subdivIndex}}"应用于父元素和第一个面板。由于您需要使用data-parent定位此 ID 以创建您想要的行为,重复的 ID 可能是导致您的问题的原因。 -
感谢您的回复。我按照你说的做了,从父元素中删除了重复的 id,还注意到错误地丢失了一个“#”,所以将它添加回来。但不幸的是,它仍然完全一样。你知道还有什么可能导致这个问题吗?
-
此时我会说:向我们展示半功能代码。您在 StackOverflow 上的内容看起来像是有一些嵌套的手风琴菜单。
-
我在这里重新创建了另一个版本:plnkr.co/edit/VDn4Kprz6hd9pEaGHBkk?p=preview 这次外部手风琴(省)工作正常,但内部嵌套手风琴(区)却不行。我认为这与 $index 有关。我可能需要编写一些 javascript 来使内部手风琴像外部一样工作。
标签: angularjs twitter-bootstrap