こんにちは、私は動的に作成されたアコーディオンのセットを持っています.3つのアコーディオンの場合、私は次のHTMLコードを生成しました:
<h3 value="1" id="header1" class="ui-accordion-header ui-helper-reset
ui-state-default ui-corner-all"
role="tab" aria-expanded="true" aria-selected="true" tabindex="0">
<div id="text1">ACCORDION N1</div>
</h3>
<div id="content1">content of accordion n1</div>
<h3 value="2" id="header2" class="ui-accordion-header ui-helper-reset
ui-state-default ui-corner-all"
role="tab" aria-expanded="true" aria-selected="true" tabindex="0">
<div id="text2">ACCORDION N2</div>
</h3>
<div id="content2">content of accordion n2</div>
<h3 value="3" id="header3" class="ui-accordion-header ui-helper-reset
ui-state-default ui-corner-all"
role="tab" aria-expanded="true" aria-selected="true" tabindex="0">
<span class="ui-icon ui-icon-triangle-3-e"></span>
<div id="text3">ACCORDION N3</div>
</h3>
<div id="content3">content of accordion n3</div>
アコーディオンが折りたたまれたモードのときに概要を表示する関数を作成しました。コードは次のとおりです。
$('.clickAccordion').click(function(){
var tmpAccordionClicked = $(this);
var tmpIndex = tmpAccordionClicked.attr('value');
var tmpContent = $("#content"+tmpIndex);
if(("#header"+tmpIndex).hasClass('ui-state-active')){
$("#text"+tmpIndex).html("ACCORDION N."+tmpIndex);
}
if(("#header"+tmpIndex).hasClass('ui-state-default')){
$("#text"+tmpIndex).html(tmpContent);
}
});
アコーディオンにアイテムが 1 つしかない場合にのみ適切に機能します。それ以外の場合は、複数のアイテムがある場合、アコーディオン n.2 をクリックすると、アコーディオン n.1 の概要が失われます。3 番目をクリックすると、1 番目は要約付きで折りたたまれ、2 番目は要約なしで折りたたまれます。どうすればそれを管理できますか? ありがとう