Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2017, 12:20
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Скрытие - показ элементов
Есть две одинаковые таблицы:
<table class="form-table no-border">
	<tbody>
		<tr class="parent">
			<th scope="row">Заголовок</th>
			<td>
				<label class="switch_wrap">
					<input name="option[ym]" id="ym" class="parent" value="1" type="checkbox">
				</label>
			</td>
		</tr>
		<tr>
			<th>Заголовок</th>
			<td>Текст</td>
		</tr>
	</tbody>
</table>
<table class="form-table no-border">
	<tbody>
		<tr class="parent">
			<th scope="row">Заголовок</th>
			<td>
				<label class="switch_wrap">
					<input name="option[ym]" id="ym" class="parent" value="1" type="checkbox">
				</label>
			</td>
		</tr>
		<tr>
			<th>Заголовок</th>
			<td>Текст</td>
		</tr>
	</tbody>
</table>

При изменении input parent на checked, нужно скрывать блок tr, который ниже.
Мой js такой:
$(document).ready(function(){
	var _this = $('.switch_wrap .parent');
	_this.change(function(){
		if (_this.prop('checked')) {
			_this.parents(3).nextAll('tr').fadeIn();
		} else {
			_this.parents(3).nextAll('tr').fadeOut();
		}
	});
	if (_this.prop('checked')) {
		_this.parents(3).nextAll('tr').fadeIn();
	} else {
		_this.parents(3).nextAll('tr').fadeOut();
	}
});

Однако, при переключении чекбокса из второй таблицы, скрытие и показ срабатывает только tr из первой
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2017, 12:21
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Как сделать, чтобы срабатывал на ту таблицу, в которой расположен чекбокс
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2017, 12:43
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Какое-то дежавю.... https://javascript.ru/forum/dom-wind...i-tablicy.html

<table class="form-table no-border">
	<tbody>
		<tr class="parent">
			<th scope="row">Заголовок</th>
			<td>
				<label class="switch_wrap">
					<input name="option[ym]" id="ym" class="parent" value="1" type="checkbox">
				</label>
			</td>
		</tr>
		<tr>
			<th>Заголовок</th>
			<td>Текст</td>
		</tr>
	</tbody>
</table>
<table class="form-table no-border">
	<tbody>
		<tr class="parent">
			<th scope="row">Заголовок</th>
			<td>
				<label class="switch_wrap">
					<input name="option[ym]" id="ym" class="parent" value="1" type="checkbox">
				</label>
			</td>
		</tr>
		<tr>
			<th>Заголовок</th>
			<td>Текст</td>
		</tr>
	</tbody>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
$(document).ready(function(){
        var chex = $('.switch_wrap .parent');
	chex.change(function(){
                var _this = $(this);
		if ( _this.prop('checked')) {
			_this.parents(3).nextAll('tr').fadeIn();
		} else {
			_this.parents(3).nextAll('tr').fadeOut();
		}
	});
    chex.parents(3).nextAll('tr').fadeOut();
});
</script>

И еще: во избежание дальнейших проблем не должно быть два раза id="ym"

Последний раз редактировалось Dilettante_Pro, 18.12.2017 в 13:11.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализовать скрытие определённых элементов при клике на один из них tupoimudak2 Элементы интерфейса 10 17.06.2017 11:39
Цитата - скрытие / показ div DarknesS Общие вопросы Javascript 1 01.06.2016 11:51
Отображение и скрытие элементов UL Surlik jQuery 0 19.02.2012 17:20
Скрытие элементов на JS alex_89 Элементы интерфейса 5 12.05.2011 09:29
Скрытие, показ определённого div блока. Flashton Events/DOM/Window 5 11.04.2010 23:44