Jquery UI手风琴问题 - 你会怎么做?

时间:2009-03-15 04:13:21

标签: jquery-ui

我在我的一个应用程序asp.net应用程序中使用jquery UI手风琴控件。手风琴的数据来自数据库,每个数据库记录都有ID,标题字段和内容字段。标题是标题,内容是打开平局时显示的数据......

我希望能够像这样打电话给我的页面:

http://www.mywebsite.com/mypage.aspx?ID=123

并让它显示所有数据(就像现在一样),但是然后将手风琴的默认“抽屉”打开到对应于传递到网址上的ID号的部分...大约有50个页面上的部分。

有关如何处理此问题的任何建议?我的问题是针对jquery手风琴的功能,其余的我知道。那么哪里是用唯一ID标记抽屉的最佳位置,然后javascript代码的片段(我假设)我会根据传入的ID使用'open'抽屉?

谢谢!

3 个答案:

答案 0 :(得分:2)

这是在http://jqueryui.com/download下载自定义JQuery UI构建时只获得“core”和“accordion”的示例文件的略微修改版本。

<!DOCTYPE html>
<html>
    <head>
        <link type="text/css" href="css/smoothness/jquery-ui-1.7.custom.css" rel="stylesheet" />    
        <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
        <script type="text/javascript" src="js/jquery-ui-1.7.custom.min.js"></script>
        <script type="text/javascript">
            $(function(){

                // Accordion
                $("#accordion").accordion({ header: "h3" });

                // can be done somewhere later in the code, after init
                $('#accordion').accordion('activate' , "#a2");              
            });
        </script>

    </head>
    <body>
        <h2 class="demoHeaders">Accordion</h2>
        <div id="accordion">
            <div>
                <h3 id="a1"><a href="#">First</a></h3>
                <div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div>
            </div>
            <div>
                <h3 id="a2"><a href="#">Second</a></h3>
                <div>Phasellus mattis tincidunt nibh.</div>
            </div>
            <div>
                <h3 id="a3"><a href="#">Third</a></h3>
                <div>Nam dui erat, auctor a, dignissim quis.</div>
            </div>
        </div>
    </body>
</html>

selector-argument必须匹配您指定为“header”的元素 - 在本例中,它是H3-Tag,它获得了ID。运行此代码应该打开第二个窗格。另一种方法是,使用“active”选项指定init中的活动窗格:

<script type="text/javascript">
$(function(){    
    $("#accordion").accordion({ header: "h3", active :"#a2"  });
});
</script>

答案 1 :(得分:1)

我认为你有这样的HTML(我把ID放在A-Tag中):

<div id="accordion">
  <div>
    <a id="a1" href="#">First header</a>
    <div>First content</div>
  </div>
  <div>
    <a id="a2" href="#">Second header</a>
    <div>Second content</div>
  </div>
</div>

你就像这样激活手风琴:

$(function() {
    $("#accordion").accordion();
});

Accordion提供了一种激活特定窗格的方法:

  

激活内容的一部分   手风琴以编程方式。该指数   可以是匹配的零索引数字   标题的位置关闭或   与元素匹配的选择器。通过   -1关闭所有(只能使用collapsible:true)。

所以你可以使用:

$("#accordion").accordion("activate", "a#a2");

通过脚本激活它。

答案 2 :(得分:0)

您可以使用

$("#accordion").accordion('activate' , 1);

其中0表示第一个抽屉,1表示第二个抽屉,依此类推。