1
Im используя эту формулу, чтобы скрыть всю таблицу HTML.javascript скрыть строку в таблице локального хранилища
function tableExpander(tableId) {
// Our flag to determine if rows are hidden or not
var rowsVisible = localStorage.getItem('rowsVisible-'+tableId),
// Table handler
table = document.getElementById(tableId);
// "rowHidden" not exists in localStorage yet
if (rowsVisible === null) {
rowsVisible = true;
} else {
// localStorage return string
rowsVisible = rowsVisible === 'true' ? true : false;
}
toggleDisplay(table, rowsVisible ? '' : 'none');
table.getElementsByClassName('toggleBtn')[0].addEventListener('click', function() {
toggleDisplay(table);
}, false);
function toggleDisplay(tbl) {
var tblRows = table.rows,
mode = rowsVisible ? '' : 'none';
for (i = 0; i < tblRows.length; i++) {
if (tblRows[i].className != "headerRow") {
tblRows[i].style.display = mode;
}
}
localStorage.setItem('rowsVisible-'+tableId, rowsVisible);
rowsVisible = !rowsVisible;
};
};
tableExpander('table');
tableExpander('table1');
Как я могу изменить его, чтобы скрыть только 1 строку за один раз и изменить цвет кнопки на красный, когда скрыт? Пример здесь http://jsfiddle.net/SXAZ4/85/
Это почти идеально. Единственная проблема заключается в том, что он не работает, если триггер находится за пределами таблицы http://jsfiddle.net/nEh89/30/. Я имею несколько таблиц в index.php и хотел бы сделать settings.php в том, что вы могли бы нажимать кнопки для отображения/скрытия определенных строк. – Jakadinho
Обновленная версия http://jsfiddle.net/nEh89/31/ (я тоже редактировал свой пост). У вас может быть одна кнопка или больше, если вам нужно. Скрипт связывает все кнопки с указанным селектором. – ofca
Его почти идеальный. Есть только одна маленькая вещь. Он не сохраняет должным образом. Когда я нажимаю кнопки, он работает нормально, но с перезагрузкой я могу получить только нажатые кнопки или нет. http://jsfiddle.net/nE89/39/ – Jakadinho