Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не появляется див (https://javascript.ru/forum/dom-window/27488-ne-poyavlyaetsya-div.html)

solomon2 14.04.2012 20:14

Не появляется див
 
Есть див который скрыт при загрузке страницы. Появляется после клика на ссылку. В диве скрыты еще несколько дивов. Которые в свою очередь появляются при выборе радиобаттона в первом диве.

Не работает появление дивов по клику на радиобаттоне в IE и в Опере.

Код:

$('#radio').click(function(){
	if (this.checked){
		$('#addSch1').show();
		$('#addSch2').hide();
		$('#addButton').show();
	}	
});


Что не понимают браузеры?

T-sh 14.04.2012 20:35

весь код покажите. с html разметкой

solomon2 14.04.2012 21:11

<div id="add">
			<table>
				<tr>
					<td class="addB" align="left">Режим отображения</td>
					<td><div id="add_close"></div></td>
				</tr>
				<tr>
					<td width="30" class="radio">
						<input type="radio" id="radio" class="radioBut" name="addM" value="1"/>
					</td>
					<td id="addE" class="radioText" align="left">Одинаковые</td>
				</tr>
				<tr>
					<td width="30" class="radio">
						<input type="radio" id="radio2" class="radioBut" name="addM" value="2" />
					</td>
					<td id="addD" class="radioText" align="left">Разные</td>
				</tr>
			</table>			
			<div id="addSch1">
				<table class="top">
					<tr>
						<td id="add1" class="text1" align="left">Раздел 1</td>
						<td id="add2" class="text1" align="left">Раздел 2</td>
						<td id="add3" class="text1" align="left">Раздел 3</td>
					</tr>
				</table>
			</div>
			<div id="addSch2">
				<table class="top">
					<tr>
						<td id="add4" class="text1" align="left">Раздел 4</td>
						<td id="add5" class="text1" align="left">Раздел 5</td>
						<td id="add6" class="text1" align="left">Раздел 6</td>
					</tr>
				</table>
			</div>
</div>

solomon2 14.04.2012 21:11

Цитата:

Сообщение от nasqad (Сообщение 169042)
if (this.checked){

$(this).is(':checked')
this.getAttribute('checked')

Не помогло

T-sh 14.04.2012 21:22

у меня всё работает, если основной слой добавляется динамически, попробуйте:

$(document).ready(function(){
$('#radio').live("click",function(){
      ....
});
});


плюс ко всему, непонятно, зачем после клика по радиобоксу вы проверяете свойство checked, ведь клик по нему обязательно устанавливает это свойство.

имхо, условие тут лишнее.

T-sh 14.04.2012 21:23

а чтоб работало на втором радиобоксе — нужно: $('#radio2')....

solomon2 14.04.2012 21:40

Цитата:

Сообщение от T-sh (Сообщение 169054)
у меня всё работает, если основной слой добавляется динамически, попробуйте:

$(document).ready(function(){
$('#radio').live("click",function(){
      ....
});
});


плюс ко всему, непонятно, зачем после клика по радиобоксу вы проверяете свойство checked, ведь клик по нему обязательно устанавливает это свойство.

имхо, условие тут лишнее.

сделал как у Вас, все-равно не срабатывает. Поменял на чистый javascript - заработало.

Спасибо за помощь!

T-sh 14.04.2012 21:42

Цитата:

Сообщение от solomon2 (Сообщение 169060)
сделал как у Вас, все-равно не срабатывает. Поменял на чистый javascript - заработало.

Спасибо за помощь!

значит дело было в самой подключаемой библиотеке.


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