Таблица
<table border="1" id="table">
<tr>
<td>0</td>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>0</td>
<td>1</td>
<td>2</td>
</tr>
</table>
при нажатие на checkbox скрывается столбец
<input name="column" type="checkbox" value="0" onClick="toggle_column('table', this.value);" checked />
<input name="column" type="checkbox" value="1" onClick="toggle_column('table', this.value);" checked />
<input name="column" type="checkbox" value="2" onClick="toggle_column('table', this.value);" checked />
scrypt
function toggle_column(table, column_nr) {
table = document.getElementById('table');
rows = table.getElementsByTagName('tr');
for (var row=0; row<rows.length;row++) {
cels = rows[row].getElementsByTagName('td');
cels[column_nr].style.display=cels[column_nr].style.display=="none" ? "" : "none";
}
}
Можно ли как то сделать что бы скрывались столбцы не по value
, а по id или class
,
хочу применить к таблице такого вида
<table class="table table-bordered table-hover">
<thead>
<tr>
<th><?php echo $text_price ?></th>
<th><?php echo $text_comment?></th>
</tr>
</thead>
<tbody>
<?php foreach ($orders as $order) { ?>
<tr>
<td><?php echo $order['comment']?></td>
</tr>
<?php } ?>
</tbody>
</table>
Можете назначить ячейкам классы и по ним скрывать. А в чекбоксах хранить названия этих классов.
Лучше отслеживать событие 'change' для чекбоксов. И использовать CSS для скрытия колонки.
const controls = document.getElementById('controls');
controls.addEventListener('change', e => {
toggleColumn(e.target.dataset.columnClass);
});
function toggleColumn(columnClass) {
const cells = document.querySelectorAll(`.${columnClass}`);
cells.forEach(cell => {
cell.classList.toggle('hidden');
});
}
.hidden {
display: none;
}
<table border="1" id="table">
<thead>
<tr>
<th class="col-1">Цена</th>
<th class="col-2">Комментарий</th>
</tr>
</thead>
<tbody>
<tr>
<td class="col-1">200</td>
<td class="col-2">БУ</td>
</tr>
<tr>
<td class="col-1">500</td>
<td class="col-2">Новый</td>
</tr>
</tbody>
</table>
<div id="controls">
<input type="checkbox" data-column-class="col-1" checked>
<input type="checkbox" data-column-class="col-2" checked>
</div>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Необходимо реализовать авторизацию в веб прилажении (Symfony 3x) по smart-card (смарт картам), подскажите как это можно реализовать? Может есть уже...
Как сделать карточки аватарок как на картинке?Не получается создать пустое место на правой стороне для картинок
Пытаюсь разобраться в автоматическом тестировании web-приложенийУстановил пока только NodeJS