Я новичок в JavaScript и абсолютный новичок в Twitter Bootstrap. У меня есть повторяющиеся строки в таблице, каждая из которых требует раскрывающегося аккордеона для отображения дополнительной информации в новой таблице.
У меня это работает, но я хочу иметь анимированные шевроны вверх и вниз, чтобы четко указывать, когда аккордеон строки основной таблицы свернут или развернут. Моя проблема в том, что я не знаю, как ссылаться на глификоны каждой строки отдельно (по имени/идентификатору): на данный момент все глификоны меняются в унисон.
Мой код приведен ниже, а в JSFiddle здесь: http://jsfiddle.net/leComte/7T2p3/2 /а>. Если кто-то может заметить какие-либо другие вопиющие несоответствия или плохую практику кодирования, пожалуйста, сообщите мне и об этом! :-)
<div id="OrderPackages">
<table id="tableSearchResults" class="table table-hover table-striped table-condensed">
<thead>
<tr>
<th>Package ID</th>
<th>Quantity</th>
<th></th>
</tr>
</thead>
<tbody>
<tr class="accordion-toggle" data-toggle="collapse" data-parent="#OrderPackages" data-target=".packageDetails1">
<td>123456</td>
<td>3</td>
<td><i class="indicator glyphicon glyphicon-chevron-up pull-right"></i>
</td>
</tr>
<tr>
<td colspan="3" class="hiddenRow">
<div class="accordion-body collapse packageDetails1" id="accordion1">
<table>
<tr>
<td>Revealed item 1</td>
</tr>
<tr>
<td>Revealed item 2</td>
</tr>
</table>
</div>
</td>
</tr>
<tr class="accordion-toggle" data-toggle="collapse" data-parent="#OrderPackages" data-target=".packageDetails2">
<td>654321</td>
<td>2</td>
<td><i class="indicator glyphicon glyphicon-chevron-up pull-right"></i>
</td>
</tr>
<tr>
<td colspan="3" class="hiddenRow">
<div class="accordion-body collapse packageDetails2" id="accordion2">
<table>
<tr>
<td>Revealed item 1</td>
</tr>
<tr>
<td>Revealed item 2</td>
</tr>
<tr>
<td>Revealed item 3</td>
</tr>
</table>
</div>
</td>
</tr>
<tr></tr>
</tbody>
</table>
</div>
$('#accordion1').on('shown.bs.collapse', function () {
$("i.indicator").removeClass("glyphicon-chevron-up").addClass("glyphicon-chevron-down");
});
$('#accordion1').on('hidden.bs.collapse', function () {
$("i.indicator").removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up");
});
$('#accordion2').on('shown.bs.collapse', function () {
$("i.indicator").removeClass("glyphicon-chevron-up").addClass("glyphicon-chevron-down");
});
$('#accordion2').on('hidden.bs.collapse', function () {
$("i.indicator").removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up");
});