2014-01-07 227 views
0

我正在寻找一个小的jQuery帮助折叠/展开表,我有我的网站上。我也想让桌子开始展开。折叠/展开表

这里有一个表我的一个例子:

<table class="table"> 
    <caption> 
    <div class="video-header">Header</div> 
    </caption> 
    <tbody> 
    <tr class="video-row"> 
     <td class="field-title"> Content </td> 
    </tr> 
    <tr class="video-row"> 
     <td class="field-title"> More Content</td> 
    </tr> 
    </tbody> 
</table> 

我想它,当你点击“标题”它缩短了整个表,而不只是该行。

我发现下面example,但似乎无法将其翻译为我的情况。

+0

该表是由Drupal的CMS生成。我可以做的不多。 – Dan

回答

0

只写一个click handler为标题元素

jQuery(function() { 
    $('table > caption').click(function() { 
     $(this).next().toggle(); 
    }) 
}) 

演示:Fiddle

+0

Arun,它可能有一个“+/-”符号来显示它何时折叠或展开? – Dan

+0

@丹结账http://jsfiddle.net/arunpjohny/Pxbtt/2/ –

+0

感谢阿伦!还有一个问题,无论如何要让崩溃和扩张有一个滑动过渡,而不是只是显示和消失? – Dan

0

,因为是动态生成你的表,你应该定义该表所在的父节点。这个父节点应始终存在于网页,并应动态地生成。

<div id="table-container"> 
    <table class="table"> 
     <caption> 
     <div class="video-header">Header</div> 
     </caption> 
     <tbody> 
     <tr class="video-row"> 
      <td class="field-title"> Content </td> 
     </tr> 
     <tr class="video-row"> 
      <td class="field-title"> More Content</td> 
     </tr> 
     </tbody> 
    </table> 
    </div> 

然后在该父节点上绑定click事件。

$("#table-container caption").on("click", function(){ 
    $("#table-container table").css("display", "none"); 
});