Аккордеон из вложенных чекбоксов
Использую конструкцию 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, время: 19:16. |