Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Присваение стиля при выбранном radio button (https://javascript.ru/forum/jquery/10321-prisvaenie-stilya-pri-vybrannom-radio-button.html)

house.wm 28.06.2010 13:57

Присваение стиля при выбранном radio button
 
Есть 2 радиобаттона 1 и 2

id 1го = 1
id 2го = 2

есть div со стилем display:none

id div'а = div

при выборе радиобаттона 1, стиль у div'a должен поменяться, тоесть он должен стать видимым

где допусил ошибку?

$(document).ready(function(){

if (_.$(#1).is(':checked')) {
	        _.$(#div).style.display = checked ? '' : 'none';
	      }
};

sysya 28.06.2010 14:01

Что то новенькое, а что это _. ?
Может так всё-таки надо:
$(document).ready(function(){ 
  
  if ($('#1').is(':checked')) { 
           $('#div').style.display = 'none'; 
  } 
};

Skipp 28.06.2010 14:11

house.wm,
id не должен начинаться с цифры

exec 28.06.2010 14:12

sysya, у jQuery-объектов нет свойства style.

$(document).ready(function(){ 
  
  if ($('#1').is(':checked')) { 
           $('#div').hide(); 
  } 
};


Желательно не использовать ID из цифр (1) или имён других тегов (div), в IE с этим могу возникнуть проблемы.

sysya 28.06.2010 14:17

Цитата:

Сообщение от exec (Сообщение 61457)
sysya, у jQuery-объектов нет свойства style.

знаю, просто первичные вещи исправил, про style не подумал чё та. Вот бы автору учебнички бы почитать, а то меня аш заступорило :)

house.wm 28.06.2010 14:54

что то не получается

вот ссылка на пример http://healthsafetytest.co.uk/test_admin/9/test.php

<script>
$(document).ready(function(){ 
  
  if ($('#yes').is(':checked')) { 
           $('#box').hide();
  } 
});
</script>
<style>
#box{width:200px; height:40px; background:#CCC; margin-top:40px; display:none}
</style>
</head>

<body>

<input     name="yes" value="yes" id="yes" type="radio"><label for="yes">Yes</label>

<input   name="yes" value="no" id="no" type="radio"><label for="no">No</label>

<div id="box"></div>


</body>

exec 28.06.2010 14:57

Круглую скобочку в конце потеряли.

exec 28.06.2010 14:58

А DIV у вас всё равно пустой, show/hide не даст никакого эффекта.

house.wm 28.06.2010 15:01

а просто див нельзя чтоли скрывать показывать? <div id="box">444</div> сделал так, все равно никакого эффекта

exec 28.06.2010 15:43

Потому что проверка у вас выполняется всего один раз, при загрузке DOM.

$(document).ready(function(){ 
	$('#yes').change(function () {
		$('#box')[this.checked ? 'show' : 'hide']();
	});
});

});


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