Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Горе луковое (https://javascript.ru/forum/jquery/62224-gore-lukovoe.html)

wmfmynd 31.03.2016 13:54

Горе луковое
 
Всем привет.
Как работает должно работать: при отмеченном чекбоксе подгружается контент со страницы /catalog/?category=premium, при выключенном чекбоксе подгружается страница /catalog/
Проблема: при клике на сам маленький чекбокс всё работает хорошо, но при клике на label (в котором чекбокс) подгружается страница /catalog/?category=premium а потом сразу же опять /catalog/. Ломаю голову, не могу понять, что не так.
Подгрузка контента:
$(function(){
	$('label.label_check').click(function(){
		var url = '';
		if($('#premium').prop('checked')) {
			url = '/catalog/?category=premium';
		} else {
			url = '/catalog/';
		}
		$.ajax({
			type: "POST",
			url: url,
			success: function(data) {
				$('#ct-blocks').html(data);
		  }
		});
	});
});

<label class="label_check" for="premium">
<input name="premium" id="premium" type="checkbox">Показать</label>

Подгружаем всё мы сюда:
<div id="ct-blocks"></div>

destus 31.03.2016 14:04

<input name="premium" id="premium" type="checkbox">
<label class="label_check" for="premium">Показать</label>


$(function(){
	$('#premium').click(function(){
		var url = '';
		if($('#premium').prop('checked')) {
			url = '/catalog/?category=premium';
		} else {
			url = '/catalog/';
		}
		$.ajax({
			type: "POST",
			url: url,
			success: function(data) {
				$('#ct-blocks').html(data);
		  }
		});
	});
});

wmfmynd 31.03.2016 14:06

Спасибо, я уже понял какой я идиот...

Dilettante_Pro 31.03.2016 14:14

А вот так?

<input name="premium" id="premium" type="checkbox">
<label class="label_check" >Показать</label>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(function(){
	$('.label_check').click(function(){
		var url = '';
		if($('#premium').prop('checked')) {
			url = '/catalog/?category=premium';
		} else {
			url = '/catalog/';
		}
                    alert(url);
	});
});
</script>


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