Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.08.2017, 14:50
Аспирант
Отправить личное сообщение для kot_k_k Посмотреть профиль Найти все сообщения от kot_k_k
 
Регистрация: 31.10.2014
Сообщений: 37

скрыть классы по маске
Всем, всего и много!

есть классы Иванов, Петров, Сидоров

хочу при вводе в инпут букавок "ров" скрыть Иванов.

т.е. убрать классы не соответствующие маске ввода.

понимаю что надо типа этого

$('tr[class*="'+маска+'"]').hide();

но как сделать отрицание ?
Ответить с цитированием
  #2 (permalink)  
Старый 30.08.2017, 14:53
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,471

kot_k_k,
$('tr:not([class*="'+маска+'"])').hide();
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2017, 14:56
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

или же по умолчанию скрыты:
а показать
$('tr[class*="'+маска+'"]').show();
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2017, 15:03
Аспирант
Отправить личное сообщение для kot_k_k Посмотреть профиль Найти все сообщения от kot_k_k
 
Регистрация: 31.10.2014
Сообщений: 37

увы
$('tr:not([class*="'+маска+'"])').hide();
скрывает все абсолютно.
show - не подходит - т.к. все и так видно.
надо скрыть .
Ответить с цитированием
  #5 (permalink)  
Старый 30.08.2017, 15:04
Аспирант
Отправить личное сообщение для kot_k_k Посмотреть профиль Найти все сообщения от kot_k_k
 
Регистрация: 31.10.2014
Сообщений: 37

я понимаю что можно получить ссе класы перебрать и скрыть - но как то хочется красиво. и нутром чую что можно. но доказать не могу
Ответить с цитированием
  #6 (permalink)  
Старый 30.08.2017, 15:08
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,471

kot_k_k,
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<div class="petrov">Петров</div>
<div class="ivanov">Иванов</div>
<div class="sidorov">Сидоров</div>
<div class="janbekov">Жанбеков</div>
<input type="text" id="input" value="rov"/>
<script>
	$(function(){
		$('#input').on('input change blur click',function(){
			$('div').fadeTo(0,1);
			$('div:not([class*="'+$(this).val()+'"])').fadeTo(0,.3);
		}).click();
	});
</script>

Последний раз редактировалось Nexus, 30.08.2017 в 15:14.
Ответить с цитированием
  #7 (permalink)  
Старый 30.08.2017, 15:19
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от kot_k_k Посмотреть сообщение
увы
$('tr:not([class*="'+маска+'"])').hide();
скрывает все абсолютно.
show - не подходит - т.к. все и так видно.
надо скрыть .
так скрыть надо начально, я же написал

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<div class="petrov">Петров</div>
<div class="ivanov">Иванов</div>
<div class="sidorov">Сидоров</div>
<div class="janbekov">Жанбеков</div>
<input type="text" id="input" value="rov"/>
<script>
	$(function(){
		$('#input').on('input change blur click',function(){
			$('div').fadeTo(0,.3);
			$('div[class*="'+$(this).val()+'"]').fadeTo(0,1);
		}).click();
	});
</script>


а там сами думайте, как удобней.

Nexus. ваш пример за основу взял, надеюсь вы не против

Последний раз редактировалось j0hnik, 30.08.2017 в 15:26.
Ответить с цитированием
  #8 (permalink)  
Старый 30.08.2017, 15:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,180


<meta charset="utf-8">
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<div class="petrov">Петров</div>
<div class="ivanov">Иванов</div>
<div class="sidorov">Сидоров</div>
<div class="janbekov">Жанбеков</div>
<input type="text" id="input" value="rov"/>
<script>
  $(function(){
    $('#input').on('input change blur click',function(){
      $('div')
      .hide()
      .filter('[class*="'+this.value+'"]')
      .show();
    });
  });
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 30.08.2017, 15:32
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,471

Сообщение от j0hnik
Nexus. ваш пример за основу взял, надеюсь вы не против
Ждите повестку в суд
Ответить с цитированием
  #10 (permalink)  
Старый 30.08.2017, 15:35
Аспирант
Отправить личное сообщение для kot_k_k Посмотреть профиль Найти все сообщения от kot_k_k
 
Регистрация: 31.10.2014
Сообщений: 37

я взял не то событие и оно честно все скрывало.
взял onkeypress а надо было onkeyup.

всем спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как скрыть содержимое div до полной загрузки сайта? Georgian Элементы интерфейса 2 01.12.2015 15:15
скрыть элементы taktak Общие вопросы Javascript 5 25.12.2014 10:17
Скрыть блок на некоторое время (5 сек) Vladislav jQuery 3 08.07.2013 07:42
Показать (скрыть) фотографии. d00ker Элементы интерфейса 9 25.02.2013 16:58
Скрыть ссылку на js Googert Общие вопросы Javascript 10 21.02.2012 15:29