Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Поиск по таблице (https://javascript.ru/forum/dom-window/63738-poisk-po-tablice.html)

zav 26.06.2016 22:50

рони,
большое Вам спасибо!!!!

kostas88 02.07.2018 22:34

У меня вопрос я использую поиск по таблице html через js - мой код ниже. Вопрос в том у меня большая таблица много строк, как сделать чтоб табличка была скрыта и только после запроса выводился ответ.
<input id='myInput' onkeyup='searchTable()' type='text'>
<script>
function searchTable() {
    var input, filter, found, table, tr, td, i, j;
    input = document.getElementById("myInput");
    filter = input.value.toUpperCase();
    table = document.getElementById("myTable");
    tr = table.getElementsByTagName("tr");
    for (i = 0; i < tr.length; i++) {
        td = tr[i].getElementsByTagName("td");
        for (j = 0; j < td.length; j++) { if (td[j].innerHTML.toUpperCase().indexOf(filter) > -1) {
                found = true;
            }
        }
        if (found) {
            tr[i].style.display = "";
            found = false;
        } else {
            tr[i].style.display = "none";
        }
    }
}
</script>
<table id="myTable">
<tbody>
<tr>
<td>Afghanistan</td>
<td>+93</td>
<td>Афганистан</td>
<td>Афганістан</td>
</tr>

рони 02.07.2018 22:48

kostas88,
<meta charset="utf-8">
<style type="text/css">
  #myTable tr{
      display:  none;
  }

</style>
<input id='myInput' onkeyup='searchTable()' type='text'>
<script>
function searchTable() {
    var input, filter, display, table, tr, i;
    input = document.getElementById("myInput");
    filter = input.value.toUpperCase();
    table = document.getElementById("myTable");
    tr = table.getElementsByTagName("tr");
    for (i = 0; i < tr.length; i++) {
        var text = tr[i].textContent.toUpperCase();
        display = "";
        if (filter && text.indexOf(filter) > -1 ) display = "table-row"
        tr[i].style.display = display;
    }
}
</script>
<table id="myTable">
<tbody>
<tr>
<td>Afghanistan</td>
<td>+93</td>
<td>Афганистан</td>
<td>Афганістан</td>
</tr>
</tbody></table>

kostas88 05.07.2018 22:38

А если у меня вордпрес страница. и структура следующая:
<p> some text</p>
тут будет код и таблица
<p> some text</p>
Извините сразу если тупой вопрос - но к сожалению сам не смог додуматся

рони 05.07.2018 22:49

Цитата:

Сообщение от kostas88
А если у меня

в чём проблема? что не работает?

kostas88 09.07.2018 09:15

Цитата:

Сообщение от рони (Сообщение 489110)
в чём проблема? что не работает?

когда ставлю стиль для скрытия таблицы, у меня перекрывается основной стиль шаблона

kostas88 09.07.2018 09:23

Вот сделал так но у меня весь текст скрыт
<?php 
require('header.php'); ?>
<div class="content-wrapper">
	<main class="content">


<!doctype html>
<html lang="en">
<meta charset="utf-8">
<style>
  #myTable tr{
      display:  none;
  }
<body>


<p>text</p>


<input id='myInput' onkeyup='searchTable()' type='text'>
<script>
function searchTable() {
    var input, filter, display, table, tr, i;
    input = document.getElementById("myInput");
    filter = input.value.toUpperCase();
    table = document.getElementById("myTable");
    tr = table.getElementsByTagName("tr");
    for (i = 0; i < tr.length; i++) {
        var text = tr[i].textContent.toUpperCase();
        display = "";
        if (filter && text.indexOf(filter) > -1 ) display = "table-row"
        tr[i].style.display = display;
    }
}
</script>
<table id="myTable">
<tbody>
<tr>
<td>Afghanistan</td>
<td>+93</td>
<td>Афганистан</td>
<td>Афганістан</td>
</tr>
<tr>
<td>Albania</td>
<td>+355</td>
<td>Албания</td>
<td>Албанія</td>
</tr>

</tbody>
</table>
<p>text</p>


</body>
</html>
			
		
	</main>	
	<?php 
	require('sidebar.php'); ?>
</div><!-- /.content-wrapper -->
<?php require('footer.php'); ?>

рони 09.07.2018 09:45

Цитата:

Сообщение от kostas88
Вот сделал так но у меня весь текст скрыт

может в строке 13 забыли </style>

kostas88 09.07.2018 13:45

Цитата:

Сообщение от рони (Сообщение 489331)
может в строке 13 забыли </style>

Спасибо огромное - если буду не внимательным точно не получиться):dance:


Часовой пояс GMT +3, время: 16:25.