функция hideTable () не скрывает все строки - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь скрыть или показать конкретную строку таблицы, но в результате я прячу только одну ячейку

Что я здесь не так делаю?

Это скрипт для вызовафункции

<script type="text/javascript">  
 window.onload = function() {
var hideTable = localStorage.getItem('hideTable');
if(hideTable === 'true'){
   document.getElementById('tr1').innerHTML = "";

    }
}     

   function showTable() {
   document.getElementById('tr1').style.visibility = "visible";
   localStorage.removeItem('hideTable');  //remove key   
   }
   function hideTable() {
   document.getElementById('tr1').innerHTML = "";
   localStorage.setItem('hideTable' , true);  //remove key   
   }
   if (localStorage.getItem('hideTable')) {  

   hideTable();   //if set show table
   }

</script>

Вот кнопки,

<table>
<tbody>
<tr>
<td><input     type='button' onClick='javascript:showTable();' value='show'></td>
<td><input type='button' onClick='javascript:hideTable();' value='hide'></td>
</tr>

и это таблица, которую я хочу скрыть или показать

<tr id='tr1'>

<?php for($i=5;$i<(count($csv)-1);$i++) { ?>

<td align="center" <?php colorizeTrades($csv3[$i][0], true); ?>><?php echo $csv3[$i][0]; ?></td>
<td align="center" <?php colorizeTrades($csv3[$i][1], true); ?>><?php echo $csv3[$i][1]; ?></td>
<td align="center" <?php colorizeTrades($csv3[$i][2], true); ?>><?php echo $csv3[$i][2]; ?></td>
<td align="center" <?php colorizeTrades($csv3[$i][3], true); ?>><?php echo $csv3[$i][3]; ?></td>
<td align="center" <?php colorizeTrades($csv3[$i][4], true); ?>><?php echo $csv3[$i][4]; ?></td>
<td BGCOLOR="white"  align="center"><?php echo $csv3[$i][5]; ?></td>
<td BGCOLOR="white"  align="center"><?php echo $csv3[$i][6]; ?></td>
<td BGCOLOR="AntiqueWhite"  align="center"><?php echo $csv3[$i][7]; ?></td>
<td BGCOLOR="AntiqueWhite"  align="center"><?php echo $csv3[$i][8]; ?></td>

</tr>

<?php } ?>
</tbody>
</table>    

1 Ответ

0 голосов
/ 20 февраля 2019

Попробуйте, это может быть то, что вы ищете Когда вы хотите скрыть строку.Сначала необходимо выбрать строку, а затем сохранить ее в локальном хранилище, после чего удалить ее из таблицы.

Когда вы захотите снова показать ее.Вам нужно получить строку из локального хранилища и затем добавить ее в таблицу

function showRow(){
  var row = localStorage.getItem("hiddenRow");
  $("#myTable").prepend(row);
}
function hideRow(){
  var row =$("#tr1");
  localStorage.setItem("hiddenRow", row);
  $(row).remove();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

<button onclick="showRow()">show</button>
<button onclick="hideRow()">hide</button>
<table id="myTable">
  <tr id="tr1">
    <td>Hi</td>
    <td>Hello</td>
  </tr>
  
  <tr>
    <td>Hi 1</td>
    <td>Hello 1</td>
  </tr>
</table>
...