jQuery可折叠面板

时间:2012-12-19 14:54:59

标签: jquery asp.net

ASP.Net,2.0 VS2005,.Net 2.0 jQuery 1.8.3,jQuery UI 1.9.2

我的表单上有两个面板(稍后会有更多),可以根据用户请求打开或关闭。

我正在使用jQuery'.slideToggle'方法。

这是我的标记

<div class="trigger0">Collapsible Header 1 - Click to toggle</div>
            <div class="panel0">
                content 1
            </div>
           <div class="trigger1">Collapsible Header 2 - Click to toggle</div>
            <div class="panel1">
                content 2
            </div>

以下工作正常

$(document).ready(function() {
        $(".trigger0").click(function(){
            $(".panel0").slideToggle("medium");
        });
        $(".trigger1").click(function() {
            $('.panel1').slideToggle("medium");
        });
    });      

但这不是

$(document).ready(function() {
        for (var vReportSectionCount = 0; vReportSectionCount < 2; vReportSectionCount++)
        {
            $(".trigger" + vReportSectionCount).click(function(){
                $(".panel" + vReportSectionCount).slideToggle("medium");
            });
        }
    });

由于我还不知道最终会有多少个面板,所以我不想为每个面板写一个新的线。有人可以向我解释为什么并提出更好的解决方案吗?

2 个答案:

答案 0 :(得分:5)

这可能是你要找的东西吗?这允许您将类命名为类而不是ID

HTML

<div class="trigger">Collapsible Header 1 - Click to toggle</div>
<div class="panel">
    content 1
</div>

<div class="trigger">Collapsible Header 2 - Click to toggle</div>
<div class="panel">
    content 2
</div>

的Javascript

$(document).ready(function() {
    $(".trigger").click(function(){
        $(this).next(".panel").slideToggle("medium");
    });
});

您可以在此处查看演示:http://jsfiddle.net/LkTf8/1/

答案 1 :(得分:3)

尝试jQuery UI TabsjQuery UI Accordion不要做已经完成的工作人员:)