我有一个展开/折叠嵌套表结构,如下所示。 在这里,当我点击父级时,该级别的所有其他先前扩展的父级必须折叠其子级。
最初应用程序(1)被扩展,有2个孩子(图1)。 当我单击应用程序(2)时,必须折叠应用程序(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');
答案 0 :(得分: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');
演示:Fiddle
答案 1 :(得分: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');