0

我正在开发一个 Struts2 应用程序并且一直在使用 <sj:accordion> ( https://code.google.com/p/struts2-jquery/wiki/AccordionTag )。

到目前为止,我一直在我的 jsp 页面上通过硬编码标签中我想要的值来初始化它,但是无论如何使用 JavaScript 来初始化它?

这是我要解决的问题。我有一个初始化使用的手风琴(所有值都是硬编码的):

<sj:accordion
    id="accordionremote"
    active="0"
            />

' active ' 元素允许我决定哪个 <sj:accordionItem> 在页面加载时处于活动状态/打开状态。是否有任何其他方法来初始化活动元素或在页面加载时打开哪个 <sj:accordionItem> 而无需对其进行硬编码?

我试过使用$("#accordion").accordion('activate', 0); jquery 手风琴所述:使用 Struts <sj:accordion> 激活选项,但是当我将它放在 <script> 元素中时它不起作用。

4

2 回答 2

0

有没有其他方法可以初始化活动元素,或者在页面加载时打开而不对其进行硬编码?

$("#accordionremote").accordion('option', 'active', 0);
于 2015-02-28T20:46:49.647 回答
0

弄清楚了!你必须使用$("#accordion").accordion({active : 1});

<sj:accordion id="accordion"
              heightStyle="content"
              animate="true"
              collapsible="true"
              active="0"
              onCreateTopics="initAccd"

              >
    <sj:accordionItem title="item1"></sj:accordionItem>
    <sj:accordionItem title="item2"></sj:accordionItem>
</sj:accordion>

<script>

    //going to initialize the accordion
    $.subscribe("initAccd", function (event, data){
        //activate the 2nd item i.e. item2
        $("#accordion").accordion({active : 1});
    });
</script>
于 2015-03-02T22:08:30.660 回答