Home >Web Front-end >JS Tutorial >Expandable 'Detail' Table Rows_jquery
A common UI is to have a table of data rows, which when clicked on expand to show a detailed breakdown of "child" rows below the "parent" row.
The only requirements are:
Put a class of "parent" on each parent row (tr)
Give each parent row (tr) an id
Give each child row a class of "child-ID" where ID is the id of the parent tr that it belongs to
Example Code
$(function() {
$('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');
});Example Table (click a row)
ID | Name | Total | |
---|---|---|---|
123 | Bill Gates | 100 | |
2007-01-02 | A short description | 15 | |
2007-02-03 | Another description | 45 | |
2007-03-04 | More Stuff | 40 | |
456 | Bill Brasky | 50 | |
2007-01-02 | A short description | 10 | |
2007-02-03 | Another description | 20 | |
2007-03-04 | More Stuff | 20 | |
789 | Phil Upspace | 75 | |
2007-01-02 | A short description | 33 | |
2007-02-03 | Another description | 22 | |
2007-03-04 | More Stuff | 20 |