2011-09-15 7 views
10

Tôi đang cố gắng để đặt một hộp kiểm trong mỗi tiêu đề accordion của tôi để chỉ ra cho dù một cái gì đó nên bị vô hiệu hóa hay không. Các hộp kiểm cho thấy tốt, tuy nhiên, nó không thể nhấp như tiêu đề toàn bộ accordion được liên kết với các tag <a>. Đặt hộp kiểm bên ngoài thẻ <a> làm cho hộp kiểm xuất hiện bên dưới tiêu đề, không phải là thứ tôi muốn và nó cũng không thể nhấp vào được.accordion jQueryUI với hộp kiểm

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

bạn muốn ẩn hộp kiểm cũng có khi bảng điều khiển accordion bị vô hiệu hóa? –

+0

Vấn đề là hộp kiểm sẽ không kiểm tra/bỏ chọn hoặc bạn không muốn hành vi accordion khi bạn nhấp vào nó? – kinakuta

+0

Sẽ không kiểm tra/bỏ chọn, hành vi accordion mà bạn đã đề cập sẽ tốt đẹp nhưng tôi đã nói về việc kiểm tra/bỏ chọn không hoạt động. – Michael

Trả lời

28

Bạn có thể sử dụng để sửa chữa stopPropagation()

example jsfiddle

một cái gì đó này như

$('#accordion input[type="checkbox"]').click(function(e) { 
    e.stopPropagation(); 
}); 
+1

Cảm ơn rất nhiều vì điều này, nhiều đánh giá cao! –

2

Tôi sẽ lấy điều khiển đầu vào ra khỏi siêu liên kết.

<h3><a href="#">Text</a><span id="id">More text<input type="checkbox"/></span></h3> 
+0

Không hoạt động, như tôi đã chỉ định trong OP (quên mã trước từ "thẻ" trong lời giải thích của tôi). – Michael

+0

Ah mát mẻ ... tôi đã không bao giờ làm việc với một điều khiển đầu vào trong một liên kết siêu trước :) – alistair

0

Hãy thử thiết lập các hộp kiểm để kiểm tra trong trường hợp acordion nhấp chuột, sử dụng

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

trong html và

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

trong sự kiện này.

0
<input type="checkbox" onclick="event.stopPropagation()" />