0

我正在尝试使用 JQuery UI 创建一个手风琴,它允许用户向手风琴动态添加其他面板。添加附加面板时,默认情况下应将其打开。我已经完成了大部分工作,但是,最后一部分让我把头发扯掉了。

<div id='accordion'>
    <h4>Panel 1 Link</h4>
    <div>
        Panel 1 content goes here
    </div>
    <h4>Panel 2 Link</h4>
    <div>
        Panel 2 content goes here
    </div>
</div>
<a href='#add' id='addPanel' onclick='addPanel(3)'>Add Panel</a>

Javascript

<script>
function addPanel(panelNo) {
        var panelContent = "<h4>Panel " + panelNo + " Link</h4><div>Panel " + panelNo +     " content goes here</div>"
             $('#accordion').append(panelContent).accordion('destroy').accordion({collapsible: true,     active: panelNo});

        var newPanelBtn = panelNo + 1;
        $('#addPanel').html("<a href='#add' id='addPanel' onclick='addPanel(" +     newPanelBtn + ")'>Add Panel</a>");
}
</script>

一切都在正常工作,除了当添加一个面板时,它应该是打开的,但是当另一个面板被选中时它不会关闭。

4

1 回答 1

0

以下对重新创建手风琴的 javascript 的调整应该会为您解决问题:

$('#accordion').append(panelContent).accordion('destroy').accordion({collapsible: true,     active: ":last"});
于 2013-09-13T23:58:23.507 回答