Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Аккордеон из вложенных чекбоксов (https://javascript.ru/forum/jquery/18937-akkordeon-iz-vlozhennykh-chekboksov.html)

spo 20.07.2011 19:30

Аккордеон из вложенных чекбоксов
 
Использую конструкцию http://jqueryui.com/demos/accordion/
<div id="accordion">
	<h3><input type="checkbox" id="chk1" /><label for="chk1">Hello World 1 <a href="#" title="">Text link</a></label></h3>
	<div>
		<div><input type="checkbox" id="chk1-1" /><label for="chk1-1">Inner 1</label></div>
		<div><input type="checkbox" id="chk1-2" /><label for="chk1-2">Inner 2</label></div>
		<div><input type="checkbox" id="chk1-3" /><label for="chk1-3">Inner 3</label></div>
	</div>
	<h3><input type="checkbox" id="chk2" /><label for="chk2">Hello World 2 <a href="#" title="">Text link</a></label></h3>
	<div>
		<div><input type="checkbox" id="chk2-1" /><label for="chk2-1">Inner 1</label></div>
		<div><input type="checkbox" id="chk2-2" /><label for="chk2-2">Inner 2</label></div>
		<div><input type="checkbox" id="chk2-3" /><label for="chk2-3">Inner 3</label></div>
	</div>
</div>


В head вставляю:

<script type="text/javascript" src="js/jquery-ui-1.8.14.custom.min.js"></script>
<script src="js/jquery.ui.core.js"></script>
<script src="js/jquery.ui.widget.js"></script>
<script src="js/jquery.ui.accordion.js"></script>	
<script>
	$(function() {
		$( "#accordion" ).accordion({
			collapsible: true
		});
	});
</script>


Все работает, но не совсем так как нужно.
Не работают чекбоксы-родители.

Мне чтото удалось набросать, но к сожалению это тоже не совсем то что нужно.

$(function() {
	$('#accordion h3').each(function() {
		var $this = $(this);
		$this.click(function() {
			if ($this.find('input:checkbox').is(':checked') == false) {
				$this.find('input:checkbox').attr('checked', true);
			}
			else {
				$this.find('input:checkbox').removeAttr('checked')
			}
		});
	});
});


Данный скрипт позволяет отмечать чекбоксы-родители при клике на области заголовка h3, но кроме самого чекбокса.

Идеальным решением было бы, если при клике на чекбокс он отмечался а вкладыши разворачивались только при клике на ссылке которая внутри label.

Прошу помощи.


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