Смена label по клике на checkbox
Добрый день.
Разметка такая:
<label id="srav">
<input type="checkbox" value="1052" id="choiseFunc"/> Сравнить</label>
Подскажите как при смене состояния чекбокса сменить текст метки на "В сравнении" Пишу так:
$(this).parent().text("В сравнении");
Но он тогда убирает и input, который обернут label'ом |
Цитата:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
$('#srav > :checkbox').click(function(){
this.nextSibling.nodeValue=(this.checked)? ' В сравнении': ' Сравнить';
});
});
</script>
</head>
<body>
<label id="srav">
<input type="checkbox" value="1052" id="choiseFunc"/> Сравнить
</label>
</body>
</html>
|
Люкс, все работает. Но при попытке интегрировать в мой код - не работает. У меня там еще скрипт обрабатывает это сравнение - как туда вставить Ваш код?
$('.text-cat .choice input').click(
function()
{
if(!$(this).prop("checked"))
{
kol_srav--;
length=$('.posl').length;
for (var i = 0; i < length; i++) {
if($(this).val()==$('.posl').eq(i).val())
{
$('.posl').eq(i).val('');
$('.posl').eq(i).addClass('pust');
$('.posl').eq(i).removeClass('posl');
break;
}
};
}
else
{
if(kol_srav>=4)
{
alert('Нельзя сравнить более 4 товаров.');
}
else
{
kol_srav++;
$('.pust').eq(0).val($(this).val());
$('.pust').eq(0).addClass('posl');
$('.pust').eq(0).removeClass('pust');
}
}
console.log(kol_srav);
});
|
Batyabest,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
#choiseFunc+ span:after{
margin-left: 8px;
content: "Сравнить" ;
}
#choiseFunc:checked + span:after{
content: "В сравнении";
}
</style>
</head>
<body>
<label id="srav">
<input type="checkbox" value="1052" id="choiseFunc"/><span></span></label>
</body>
</html>
|
рони, вот у меня была мысль так сделать, о я ее не довел до ума))
Спасибо огромное - работает как нужно! |
| Часовой пояс GMT +3, время: 11:34. |