我必须使用 Bootstrap 3 表,其中表行可单击并且就像 Accordion 一样。
只有一行可以“打开”。 单击折叠的行将:
- 打开点击的折叠行
- 关闭其他行(如果有)
- 将图标本身从“加号”切换为“减号”
- 将其他“减号”图标切换为“加号”(如果有)
我已经走到这一步了:
HTML:
<div class="container">
<table class="table table-bordered" id="overview-table">
<div id="body-1">
<tr data-toggle="collapse" data-target="#text-1" class="accordion-toggle collapsed">
<td scope="row" class="accordion-label">
<span class="glyphicon glyphicon-plus-sign"></span>
<h3>Heading 1</h3>
</td>
<td class="checkmark-table"></td>
<td class="checkmark-table"></td>
<td class="checkmark-table"></td>
</tr>
<tr>
<td colspan="4" class="hiddenRow">
<div class="accordian-body collapse clearfix" id="text-1">
<div class="collapse-feature-list">
<ul>
<li>Lorem</li>
<li>Lorem</li>
</ul>
</div>
<div class="collapse-link">
<a href="#">Link #3</a>
<a href="#">Link #2</a>
<a href="#">Link #1</a>
</div>
</div>
</td>
</tr>
</div>
<div id="body-2">
<tr data-toggle="collapse" data-target="#text-2" class="accordion-toggle collapsed" aria-expanded="false">
<td scope="row" class="accordion-label">
<span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
<h3>Heading 1</h3>
</td>
<td class="checkmark-table"></td>
<td class="checkmark-table"></td>
<td class="checkmark-table"></td>
</tr>
<tr>
<td colspan="4" class="hiddenRow">
<div class="accordian-body collapse clearfix" id="text-2">
<div class="collapse-feature-list">
<ul>
<li>Lorem</li>
<li>Loremr</li>
</ul>
</div>
<div class="collapse-link">
<a href="#">Link #3</a>
<a href="#">Link #2</a>
<a href="#">Link #1</a>
</div>
</div>
</td>
</tr>
</div>
</table>
</div>
JQUERY:
$('.collapse').on('show.bs.collapse', function () {
$('.collapse.in').collapse('hide');
});
$('.collapse').on('shown.bs.collapse', function() {
$(".glyphicon").addClass('glyphicon-minus-sign').removeClass('glyphicon-plus-sign');
});
$('.collapse').on('hidden.bs.collapse', function() {
$(".glyphicon").addClass('glyphicon-plus-sign').removeClass('glyphicon-minus-sign');
});
如何选择特定行以获得上述功能?
最佳答案
更新/解决方案
我在这里找到了一个仅 CSS 的解决方案 https://stackoverflow.com/a/18568997/1437245
因为我的 .accordion-toggle 是 <tr>
:before 的作用类似于另一个表格单元格并破坏布局。所以我不得不使用
.accordion-toggle td:first-child:before
和.accordion-toggle.collapsed td:first-child:before
选择第一个单元格并将伪选择器放在前面......
工作中的 JSFIDDLE https://jsfiddle.net/DTcHh/6591/
关于jquery - Bootstrap 3 折叠表格图标开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624285/