Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   При чекнутом Checkbox Перекрасить Label в другой цвет (https://javascript.ru/forum/jquery/22992-pri-cheknutom-checkbox-perekrasit-label-v-drugojj-cvet.html)

Mamayoto 08.11.2011 13:23

При чекнутом Checkbox Перекрасить Label в другой цвет
 
При чекнутом Checkbox надо Перекрасить Label в другой цвет
Вот такая структура
<ul>
	<li><label><input type="checkbox" />Acer</label></li>
	<li><label><input type="checkbox" />Apple</label></li>
	<li><label><input type="checkbox" />Asus</label></li>
	<li><label><input type="checkbox" />Dell</label></li>
</ul>


Я настрочил такой скрипт
$(document).ready(function(){
	$(":checkbox").click(function(){
		if ($(this).is(':checked'))                   
			$('label').css("color", "#000000");
		else
			$('label').css("color", "#777777");
	});
});

Но при чекнутом checkbox перекрашуются сразу все label...

Подскажыте пожалуйсто.

Pavel M. 08.11.2011 14:22

лучше так

$('label').click(function (e) {

    if ($('input', this).is(':checked')) {
        $(this).css('color', 'red');
    } else {
        $(this).css('color', 'black');
    }

});


только лучше не раскрашивать напрямую, а присваивать class
например .addClass('hot') и соответственно .removeClass('hot')

n1ko 08.11.2011 16:10

$(document).ready(function(){
    $(":checkbox").click(function(){
        if ($(this).is(':checked')) {
            $(this).parent().css("color", "#000000");
        } else {
            $(this).parent().css("color", "#777777");
        });
});

Попробуйте так. Должно работать.

Mamayoto 08.11.2011 20:37

Спасибо, работают оба варианта

ksa 08.11.2011 21:08

Цитата:

Сообщение от Mamayoto
При чекнутом Checkbox надо Перекрасить Label в другой цвет

Предложу такой вариант... :)

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
.on {
	color: red;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
	$('input').click(function(){
		$(this).parent().toggleClass('on');
	});
});
</script>
</head>
<body>
<ul>
	<li><label><input type="checkbox" />Acer</label></li>
	<li><label><input type="checkbox" />Apple</label></li>
	<li><label><input type="checkbox" />Asus</label></li>
	<li><label><input type="checkbox" />Dell</label></li>
</ul>
</body>
</html>


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