Twitter Bootstrap использовать свернуть.js на ячейках таблицы [почти сделано]
Я работаю на странице счетов, где перечислены транзакции (кредиты и дебеты). Я хотел бы, чтобы пользователь мог щелкнуть по строке таблицы, и она расширяется, показывая дополнительную информацию.
Я использую Twitter bootstrap и просмотрел документацию, и это результат, который у меня есть
<table class="table table-striped" id="account-table">
<thead>
<tr>
<th>#</th>
<th>Date</th>
<th>Description</th>
<th>Credit</th>
<th>Debit</th>
<th>Balance</th>
</tr>
</thead>
<tbody>
<tr data-toggle="collapse" data-target="#demo1" data-parent="#account-table" class="">
<td>1</td>
<td>05 May 2013</td>
<td>Credit Account</td>
<td class="text-success">0.00</td>
<td class="text-error"></td>
<td class="text-success">0.00</td>
<div id="demo1" class="demo out collapse">Demo1</div>
</tr>
посмотреть: http://jsfiddle.net/2Dj7Y/
единственная проблема заключается в том, что он отображает "выпадающего" в неположенном месте, я хотел бы добавить в новой строке, вместо печати в верхней части таблицы
Я также попытался добавить в новую строку таблицы (которая просто отображает строку и не свернуть действие (применяется только к первой строке)
<tr data-toggle="collapse" data-target="#demo1" data-parent="#account-table" >
<td>1</td>
<td>05 May 2013</td>
<td>Credit Account</td>
<td class="text-success">0.00</td>
<td class="text-error"></td>
<td class="text-success">0.00</td>
<tr id="demo1" class="demo out collapse">
<td>1</td>
<td>05 May 2013</td>
<td>Credit Account</td>
<td class="text-success">0.00</td>
<td class="text-error"></td>
<td class="text-success">0.00</td>
</tr>
</tr>
ура, и спасибо за вашу помощь
3 ответа:
Я не уверен, что вы уже прошли это, но мне пришлось работать над чем-то очень похожим сегодня, и я получил вашу скрипку, как вы просите, в основном то, что я сделал, это сделать еще одну строку таблицы под ним, а затем использовать управление аккордеоном. Я попытался использовать просто коллапс, но не смог заставить его работать и увидел пример где-то на так что использовал аккордеон.
вот ваша обновленная скрипка: http://jsfiddle.net/whytheday/2Dj7Y/11/
Так как мне нужно почтовый индекс вот как должен выглядеть каждый складной "раздел" ->
<tr data-toggle="collapse" data-target="#demo1" class="accordion-toggle"> <td>1</td> <td>05 May 2013</td> <td>Credit Account</td> <td class="text-success">0.00</td> <td class="text-error"></td> <td class="text-success">0.00</td> </tr> <tr> <td colspan="6" class="hiddenRow"> <div class="accordion-body collapse" id="demo1">Demo1</div> </td> </tr>
расширение на Тони ответ, а также отвечая на Даваль птл-х вопрос, чтобы получить истинный эффект аккордеона и разрешить одновременно расширять только одну строку, можно добавить обработчик событий для show.bs.collapse следующим образом:
$('.collapse').on('show.bs.collapse', function () { $('.collapse.in').collapse('hide'); });
Я изменил его пример, чтобы сделать это здесь:http://jsfiddle.net/QLfMU/116/
Если вы используете Angular ng-repeat для заполнения таблицы фрагмент jQuery hackel не будет работать, поместив его в событие загрузки документа. Вам нужно будет запустить фрагмент кода после того, как angular закончит рендеринг таблицы.
чтобы вызвать событие после того, как ng-repeat отобразил эту директиву:
var app = angular.module('myapp', []) .directive('onFinishRender', function ($timeout) { return { restrict: 'A', link: function (scope, element, attr) { if (scope.$last === true) { $timeout(function () { scope.$emit('ngRepeatFinished'); }); } } } });
полный пример в угловой: http://jsfiddle.net/ADukg/6880/
Я получил директиву отсюда: используйте AngularJS только для цели маршрутизации