0

我有一个如下所示的展开/折叠嵌套表结构。在这里,当我单击父级时,该级别的所有其他先前展开的父级必须折叠其子级。

在此处输入图像描述

最初 Application(1) 被扩展,有 2 个孩子(图 1)。当我单击 Application(2) 时,Application(1) 的子项必须折叠(图 2)。这应该适用于所有级别。像找到兄弟姐妹并隐藏之类的东西,但点击的除外。我怎样才能做到这一点

siblings().find().not(clicked).hide();

这是我的小提琴http://jsfiddle.net/vivekcek/rFKJc/

父行有一个类 'parent' 和 id='[id]'。子行通过附加父 id class=child-[id] 来拥有一个类。

 $('tr.parent')
.css("cursor", "pointer")
.attr("title", "Click to expand/collapse")
.click(function () {
$(this).siblings('.child-' + this.id).toggle();
});
$('tr[class*=child-]').hide().children('td'); 
4

2 回答 2

2

尝试

var $trs = $('tr.parent')
.css("cursor", "pointer")
.attr("title", "Click to expand/collapse")
.click(function () {
    var $sibs = $(this).siblings('.child-' + this.id).toggle();
    $(this).siblings().not($sibs).not('.parent').hide()
});
$('tr[class*=child-]').hide().children('td');

演示:小提琴

于 2013-10-07T16:48:33.923 回答
0

这解决了所有问题

         var $trs = $('tr.parent')
        .css("cursor", "pointer")
        .attr("title", "Click to expand/collapse")
        .click(function () {
                var $sibs = $(this).siblings('.child-' + this.id).toggle();
                $(this).siblings().not($sibs).not('.parent').hide();
                $($sibs).find('tr[class*=child-]').hide();
        });

    $('tr[class*=child-]').hide().children('td');
于 2013-10-07T19:03:53.617 回答