У меня есть таблица вроде этого:Скрытие/отображение столбцов из плагина Datatables th?
<table id="table_id">
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>etc</th>
</tr>
</thead>
<tbody>
<tr>
<td>Row 1 Data 1</td>
<td>Row 1 Data 2</td>
<td>etc</td>
</tr>
<tr>
<td>Row 2 Data 1</td>
<td>Row 2 Data 2</td>
<td>etc</td>
</tr>
</tbody>
</table>
То, что я хочу быть в состоянии сделать, это поставить какой-то изображение или ссылку, чтобы скрывать и показывать столбцы в <th>
. Когда пользователь нажимает, чтобы скрыть столбец, я хочу поместить внутренний текст <th>
в div и когда нажимают на div, я хочу, чтобы пользователь мог щелкнуть по столбцу по своему выбору и вернуть его обратно таблицу и удалить ее из div.
Я получил плагин datatables для работы и на веб-сайте, у него есть образец скрытия/отображения столбцов, но с внешними ссылками. Я смог добавить ссылку, чтобы скрыть/показать столбец, но вот мои проблемы:
Я не знаю, как получить индекс или столбец, который был нажат. Я не знаю, как удалить его из div с помощью jquery. Когда я нажимаю show/hide, он помещает его в div, но затем он повторяется для каждого щелчка, и я также могу щелкнуть его в div, и он отображает/скрывается в таблице в зависимости от текущего состояния.
<script type="text/javascript">
$(document).ready(function() {
$('#datatable').dataTable();
$('.showhide').live('click', function() {
var index = $('#datatable th').index();
fnShowHide(index);
});
});
function fnShowHide(iCol) {
var oTable = $('#datatable').dataTable();
var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
oTable.fnSetColumnVis(iCol, bVis ? false : true);
var index = $('#datatable td').index();
console.log(index);
$('#columns').append('<a href="#">' + oTable.fnSettings().aoColumns[index].sTitle + '<a/>');
}
</script>
<div id="columns"><h4>Columns</h4></div>
<table id="datatable" class="display">
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
Я не использовал некоторые данные таблицы.
Вы пробовали ... что-нибудь? –
@ Ek0nomik - Обновлено – Xaisoft
Было бы полезно, если бы вы опубликовали код того, что вы пробовали. Легче отлаживать. –