两个动态生成的引导手风琴相互冲突
Two dynamically generated bootstrap accordions conflicting with each other
在Angular中,应用程序可以在一个浏览器选项卡中打开多个"窗格"。这些窗格的功能就像它们自己的浏览器选项卡。我有一个引导手风琴,使用标准的引导设置:
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#accordionOne"></a>
</div>
<div id="accordionOne" class="panel-collapse collapse in">
<div class="panel-body">
<div class="">CONTENT</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#accordionTwo"></a>
</div>
<div id="accordionTwo" class="panel-collapse collapse in">
<div class="panel-body">
<div class="">CONTENT 2</div>
</div>
</div>
</div>
</div>
这里的问题是,由于多个窗格,有可能用户打开两个窗格到同一区域,并呈现这个手风琴两次。这样做意味着单击第二个渲染手风琴上的任何元素将只控制第一个手风琴。
请看下面的例子
由于我不知道用户一次可以生成多少次这个"窗格",是否有一个好的方法来处理这种事情?
注意:我知道为什么会发生这种情况,数据目标和所有的。这是一个关于如何动态解决的问题。
深交的它们应该具有唯一的ID属性。将第二个更改为accordion2
或其他唯一标识符。所有的面板都必须有唯一的ID。如果它们是动态生成的,则必须更改逻辑以生成唯一的id,而不是在每次迭代中重复使用相同的id。
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#accordionOne">Section One</a>
</div>
<div id="accordionOne" class="panel-collapse collapse in">
<div class="panel-body">
<div class="">CONTENT</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#accordionTwo">Section 2</a>
</div>
<div id="accordionTwo" class="panel-collapse collapse">
<div class="panel-body">
<div class="">CONTENT 2</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" href="#accordionThree">Section 3</a>
</div>
<div id="accordionThree" class="panel-collapse collapse">
<div class="panel-body">
<div class="">CONTENT 3</div>
</div>
</div>
</div>
</div>
<div class="panel-group" id="accordion2">
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion2" href="#accordionOne2">Section One</a>
</div>
<div id="accordionOne2" class="panel-collapse collapse">
<div class="panel-body">
<div class="">CONTENT</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion2" href="#accordionTwo2">Section 2</a>
</div>
<div id="accordionTwo2" class="panel-collapse collapse">
<div class="panel-body">
<div class="">CONTENT 2</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion2" href="#accordionThree2">Section 3</a>
</div>
<div id="accordionThree2" class="panel-collapse collapse">
<div class="panel-body">
<div class="">CONTENT 3</div>
</div>
</div>
</div>
</div>
如果你特别想理解Angular中的迭代,这实际上取决于数据的结构,ng-repeat有许多不同的方法。
属性data-target
必须与accordion body id
相同。
参见示例:
<div class="panel panel-default">
<div class="panel-heading">
<a data-toggle="collapse" data-target="#accordionTwo" data-parent="#accordion"></a>
</div>
<div id="accordionTwo" class="panel-collapse collapse in">
<div class="panel-body">
<div class="">CONTENT 2</div>
</div>
</div>
</div
相关文章:
- 手风琴可点击并悬停
- Javascript-ID冲突的几率
- 响应动画手风琴不工作
- 如何只使用特定的表行构建简单的手风琴
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- JQuery-停止手风琴链接关闭所有选项卡
- 如何设置第一个手风琴面板关闭
- 获得多个手风琴部分以保持开放
- Pg承诺性能提升:在冲突中
- 数据与Javascript中的继承冲突
- Angular ng控制器与ng应用程序冲突
- 返回按钮代码段的Jquery冲突
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 使用JavaScript和HTML5画布进行冲突检测
- javascript对象原型与jquery冲突
- jQuery与导航菜单上的mouseover事件冲突.
- JQuery手风琴菜单与mmenu冲突-JQuery 1.4 vs 1.7
- 手风琴剧本冲突
- Jquery选框和手风琴冲突
- 两个动态生成的引导手风琴相互冲突