理想的には、2つのトグラーが必要です。フィールドセット トグルをクリックすると、フィールドセットが表示され、内部の div が非表示になります。イベントが発生したとき、または div トグルをクリックすると、div が表示されます。 2 つのトグラーのうち 1 つしか管理できません。
これはhtmlです
<a href="#" class="fieldset-toogler-trigger">click here</a>
<fieldset class="fieldset" style="display:none">
<input>//first inputs
<input> 2nd input
<input id="edit-text" name="custom-text" type="checkbox value=""/>
<div id="wrapper">include several fields that initially hidden</div>
</fieldset>
これはフィールドセットのトグルです:
$("a.fieldset-toggle-trigger").click(function() {
$(".fieldset").toggle();
}
div トグルは別のコード グループ内にあります。
var e_fields = $("div#wrapper");
//fadein/fadeout with an event:
function bindEditTextClick(){
$("input#edit-text").click( function() {
if ($(this).attr('checked')) {
e_fields.fadeIn(750);
} else {
e_fields.fadeOut(750, function() {
});
}
});
}
//toggle as a part of another live click fuunction:
if (e_fields.is(':visible')) {
e_fields.fadeOut(500);
}
フィールドセットを最初に表示状態でロードすると、内側のトグルが正常に機能します。この内側のトグルは他のイベントに接続されており、簡単には変更できません。内部トグルが引き続き機能するようにフィールドセット トグルを変更するにはどうすればよいですか?