Im trying to build a table. The table consists of the following. Each line is a row.
Main-Parent
+ Parent
- children
- children
+ Parent
- children
- children
The children will collapse into their Parent. And each of the parents will collapse into the Main Parent. Ive got it partially working but not fully. You can see the behavior in http://jsfiddle.net/0Lh5ozyb/88/
HTML
<table class="table">
<tr class="main-parent" id="">
<td><div>MAIN PARENT</div></td>
<td><div>MAIN PARENT</div></td>
<td><div>MAIN PARENT</div></td>
</tr>
<tr class="parent sub" id="row1">
<td><div>PARENT</div></td>
<td><div>PARENT</div></td>
<td><div>PARENT</div></td>
</tr>
<tr class="child-row1-1 sub">
<td><div>CHILD</div></td>
<td><div>Jackson</div></td>
<td><div>94</div></td>
</tr>
<tr class="child-row1-2 sub">
<td><div>CHILD</div></td>
<td><div>Doe</div></td>
<td><div>80</div></td>
</tr>
<tr class="parent sub" id="row2">
<td><div>PARENT</div></td>
<td><div>PARENT</div></td>
<td><div>PARENT</div></td>
</tr>
<tr class="child-row2-1 sub">
<td><div>CHILD</div></td>
<td><div>Jackson</div></td>
<td><div>94</div></td>
</tr>
<tr class="child-row2-2 sub">
<td><div>CHILD</div></td>
<td><div>Doe</div></td>
<td><div>80</div></td>
</tr>
</table>
JQUERY
// main heading
$('tr.main-parent')
.css("cursor", "pointer")
.click(function () {
var $children = $(this).nextUntil($('tr').not('.sub'));
$children.find('td > div, td').slideToggle();
});
$('tr[class^=child-]').find('td > div, td').hide();
// parent heading
$('tr.parent')
.css("cursor", "pointer")
.click(function () {
var $children = $(this).nextUntil($('tr').not('[class^=child-]'));
$children.find('td > div, td').slideToggle();
});
$('tr.sub').find('td > div, td').hide();