Смена 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, время: 04:29. |