Javascript.RU

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

Проблема с input[radio]
Доброго времени суток.
Есть опросник с input[radio]. При атрибуте checked необходимо чтобы весь блок менял фоновый цвет.
<span> <input type="checkbox" name="a" value="" /> I am very happy!</span>
<span> <input type="checkbox" name="a" value="" /> I am very happy!</span>

вот скрипт

$(document).ready(function(){
$(' span input[type="radio"]').bind('click',function(e) {
var $this = $(this);
if($this.is(':checked'))
$this.parents(' span').addClass('selected');
else
$this.parents(' span').removeClass('selected');
});
});


как видно что при условии :checked присваивается класс selected
проблема состоит в том, что класс selected в противном случае не удаляется. т.е. после выбора другого варианта background остается.
Странное что при iput[checkbox] все работает.
Что делать? помогите плиз!!!
Ответить с цитированием
  #2 (permalink)  
Старый 02.12.2011, 19:36
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

возможно, проблема в проверке, чекнут ли radio

а именно - в $this.is(":checked"). проверьте это сами.
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2011, 21:14
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

для радио можно не проверять :checked при клике
если клик, то точно :checked
а у соседнего span просто удаляем стиль

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>demo</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-git.js'></script>

<style type='text/css'>
	.selected { background: red; }
</style>

<script> 
$(document).ready(function(){
	$(' span input[type="radio"]').bind('click', function (e) {
		var $this = $(this);
		$this.parent().addClass('selected');
		$this.parent().siblings('span').removeClass('selected');
	});
}); 
</script>

</head>
<body>
	<span><input type="radio" name="a" value="" /> I am very happy!</span>
	<span><input type="radio" name="a" value="" /> I am very happy!</span>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 02.12.2011, 21:38
Новичок на форуме
Отправить личное сообщение для culttm Посмотреть профиль Найти все сообщения от culttm
 
Регистрация: 02.12.2011
Сообщений: 3

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с Popup окном vovuslik jQuery 5 12.06.2010 16:12
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47