-1

我有一个脚本:

<script>
$(function(){
  $("#projectReqTable","body").on({'click':function(event){
    event.preventDefault();
    $(this).closest("tr.main").nextUntil("tr.main").toggle("slow");
   }},
   "a.main",null);
});
</script>

这样做是在表格中显示/隐藏行。现在它们显示出来了,我需要单击按钮来隐藏它们。如何在页面加载时自动隐藏?

隐藏的 CSS 属性可以解决问题,但我无法在显示单元格之后进行过滤。我需要在页面加载时隐藏它们,并使用脚本来显示它们。

4

3 回答 3

0

您只需.click()在最后添加即可。模拟点击。

<script>
$(function(){
  $("#projectReqTable","body").on({'click':function(event){
    event.preventDefault();
    $(this).closest("tr.main").nextUntil("tr.main").toggle("slow");
   }},
   "a.main",null).click();
});
</script>
于 2012-11-09T08:25:34.630 回答
0

在 jquery 中使用trigger()函数

您可以在页面加载时触发按钮单击事件

$("#projectReqTable","body").trigger('click');

希望这可以帮助

更清楚

<script type="text/javascript">
$(document).ready(function(){
   $("#projectReqTable","body").on({'click':function(event){
    event.preventDefault();
    $(this).closest("tr.main").nextUntil("tr.main").toggle("slow");
   }},
   "a.main",null);


   $("#projectReqTable","body").trigger('click');

});
</script>
于 2012-11-09T08:31:15.963 回答
0

我的解决方案是简单地更改过滤器列并将他带到 tr.main 列。

但是,Philemon philip Kunjumon提供的解决方案也非常有用。

如果他的解决方案,这是完整的代码:

$(function(){
  $("#main-data-table","body").on({'click':function(event){
    event.preventDefault();
    $(this).closest("tr.main").nextUntil("tr.main").toggle("fast");
   }},
   "a.main",null);
$("#main-data-table").find('.data').css('display','none');
});​

这是一个工作示例:http: //jsfiddle.net/wG8qf/107/

于 2012-11-12T14:42:33.027 回答