jQueryUI accordion with checkboxes

2019-01-26 07:09发布

I'm trying to put a checkbox in each of my accordion headings to indicate whether something should be disabled or not. The checkbox shows up fine, however, its not clickable as the whole accordion header is linked to the <a> tag. Putting the checkbox outside the <a> tag makes the checkbox appear underneath the heading, which is not what I want, and it still isn't clickable either.

<div id="accordion">
    <h3><a href="#">Text <span id="id">More text<input type="checkbox"/></span></a></h3>
    <div>content etc</div>
</div>

4条回答
叛逆
2楼-- · 2019-01-26 07:37

Try setting the checkbox to checked in the acordion click event, using

<input type="checkbox" name="foo" />

in the html and

$('input[name=foo]').attr('checked', true);

in the event.

查看更多
甜甜的少女心
3楼-- · 2019-01-26 07:39

You can use stopPropagation() to fix this

example jsfiddle

something like

$('#accordion input[type="checkbox"]').click(function(e) {
    e.stopPropagation();
});
查看更多
【Aperson】
4楼-- · 2019-01-26 07:40

I would be taking the input control out of the hyperlink.

<h3><a href="#">Text</a><span id="id">More text<input type="checkbox"/></span></h3>
查看更多
Evening l夕情丶
5楼-- · 2019-01-26 07:44
<input type="checkbox" onclick="event.stopPropagation()" />
查看更多
登录 后发表回答