Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.04.2016, 11:00
Интересующийся
Отправить личное сообщение для louboutin Посмотреть профиль Найти все сообщения от louboutin
 
Регистрация: 20.04.2016
Сообщений: 11

элементарный скрипт: фильтрация таблицы
есть пронумерованная таблица ,
подскажите простой скрипт фильтринга таблицы.

<option value='адын'>№ 1</option>
<option value='два'>№ 2</option>
<option value='три'>№ 3</option>
Ответить с цитированием
  #2 (permalink)  
Старый 26.04.2016, 18:32
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

louboutin,
Это не таблица, а опшены от селекта
https://webref.ru/html/select
Ответить с цитированием
  #3 (permalink)  
Старый 27.04.2016, 09:49
Интересующийся
Отправить личное сообщение для louboutin Посмотреть профиль Найти все сообщения от louboutin
 
Регистрация: 20.04.2016
Сообщений: 11

Сообщение от Dilettante_Pro Посмотреть сообщение
louboutin,
Это не таблица, а опшены от селекта
да,это html-селект.
а нужен скрипт, чтобы фильтровать таблицу с помощью выбора опций селекта.

таблица обычная
<table>
<tr>
<td>...</td>
<td>...</td>
</tr>
</table>
Ответить с цитированием
  #4 (permalink)  
Старый 27.04.2016, 12:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

louboutin,
Ну так вопросы надо задавать, а не загадки загадывать
<!DOCTYPE html>
<html>
<head>
    <title>Untitled Page</title>
</head>
<style>
   table 
   { border-collapse: collapse; }
   td  
   {   padding: 3px;
       border: 1px solid black;
        }    
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
    $(function () {
        $('#filter').on('change', function () {
            var filter = $(this).val();
            $('table tr').each(function (indx) {
                var exist;
                $(this).find('td').each(function (ind) {
                    exist = exist || ($(this).text() == filter || filter=='');
                });
                if (exist) { $(this).css('display', 'table-row') }
                else { $(this).css('display', 'none') };
            });
        });
    });
</script>
<body>
    <div>
        Фильтр
        <select id='filter'>
            <option value='' selected>Без фильтра</option>
            <option value='адын'>№ 1</option>
            <option value='два'>№ 2</option>
            <option value='три'>№ 3</option>
        </select>
    </div>
  <table>
    <tr><td>адын</td><td>Что-то</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>три</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>Что-то</td><td>адын</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>адын</td><td>два</td><td>три</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>три</td><td>три</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>адын</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>два</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>два</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>два</td><td>Что-то</td><td>Что-то</td></tr>
  </table>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 27.04.2016, 17:11
Интересующийся
Отправить личное сообщение для louboutin Посмотреть профиль Найти все сообщения от louboutin
 
Регистрация: 20.04.2016
Сообщений: 11

спасибо большое! а можете подкинуть скрипт с такой же сортировкой на чистом JS ?
Ответить с цитированием
  #6 (permalink)  
Старый 27.04.2016, 17:51
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от louboutin Посмотреть сообщение
спасибо большое! а можете подкинуть скрипт с такой же сортировкой на чистом JS ?
<!DOCTYPE html>
<html>
<head>
    <title>Untitled Page</title>
</head>
<style>
   table 
   { border-collapse: collapse; }
   td  
   {   padding: 3px;
       border: 1px solid black;
        }    
</style>

<script>
    window.addEventListener("DOMContentLoaded", function () {
        document.getElementById('filter').onchange = function () {
            var filter = this.value,
                rows = document.querySelectorAll('table tr');
            for (var i = 0; i < rows.length; i++) {
                var exist = false,
                       cells = rows[i].querySelectorAll('td');
                for (var j = 0; j < cells.length; j++) {
                    exist = exist || (cells[j].innerText == filter || filter == '');
                };
                if (exist) { rows[i].style.display = 'table-row' }
                else { rows[i].style.display = 'none' };
            };
        };
    });
</script>
<body>
    <div>
        Фильтр
        <select id='filter'>
            <option value='' selected>Без фильтра</option>
            <option value='адын'>№ 1</option>
            <option value='два'>№ 2</option>
            <option value='три'>№ 3</option>
        </select>
    </div>
  <table>
    <tr><td>адын</td><td>Что-то</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>три</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>Что-то</td><td>адын</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>адын</td><td>два</td><td>три</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>три</td><td>три</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>адын</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>два</td><td>Что-то</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>Что-то</td><td>два</td><td>Что-то</td></tr>
    <tr><td>Что-то</td><td>два</td><td>Что-то</td><td>Что-то</td></tr>
  </table>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите вставить скрипт на страницу alexsio Работа 7 22.04.2013 18:19
карусель из таблицы arkady21 jQuery 6 05.10.2010 11:40
Помогите Исправить элементарный скрипт! с location.searсh pp-vp Events/DOM/Window 5 12.08.2010 14:40
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07