2011-09-15 42 views
10

アコーディオンの各見出しに、何かを無効にするかどうかを示すチェックボックスを入れようとしています。チェックボックスは上手く表示されますが、アコーディオンヘッダー全体が<a>タグにリンクされているため、クリックできません。 <a>タグの外側にチェックボックスを置くと、見出しの下にチェックボックスが表示されます。これは私が望むものではなく、クリック可能でもありません。jQueryUIアコーディオンとチェックボックス

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

のようなこの

example jsfiddle

何かを修正するためにstopPropagation()を使用することができますか? –

+0

チェックボックスをオン/オフしない、またはクリックしたときにアコーディオン動作をしたくないという問題がありますか? – kinakuta

+0

あなたが言及したアコーディオンの動作は素晴らしいかもしれませんが、私がチェックについて話していた/アレンジしていないチェックを外すことはできません。 – Michael

答えて

28

あなたがアコーディオンパネルが無効になっているときにも、チェックボックスを非表示にする

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

ありがとう、これは多くの感謝! –

2

入力コントロールをハイパーリンクから外しています。

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

私はOPで指定されたように(私の説明では "タグ"の単語の前にのコードを忘れてしまった)動作しません。 – Michael

+0

ああクールだ...私はちょうど前にハイパーリンクの入力コントロールで働いたことがない:) – alistair

0

HTMLで

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

やイベントで

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

を使用して、acordionのクリックイベントでチェックする]チェックボックスを設定してみてください。

0
<input type="checkbox" onclick="event.stopPropagation()" /> 
関連する問題