I have a HTML table as shown in http://jsfiddle.net/Lijo/auny3/ . The table has 10 columns – divided into three col groups. I need to hide/show the colgroup named “Associate Info” (including its rows data) using buttons “Show Associate” and “Hide Associate”.
What is the best way (in terms of performance) for doing this using jQuery?
Please answer if you have a better answer than http://jsfiddle.net/Lijo/auny3/8/
Note: I am generating the table using ASP.Net GridView as given in http://www.sacdeveloper.com/Community/Articles/tabid/86/ctl/ArticleView/mid/458/articleId/1/Group_columns_in_an_ASPNet_Gridview.aspx
Reference:
http://jsfiddle.net/Lijo/auny3/8/
http://jsfiddle.net/Lijo/auny3/12/
http://jsfiddle.net/Lijo/auny3/11/
http://jsfiddle.net/Lijo/auny3/13/
Selected Answer
Hi now used to this
Jquery
$(document).ready(function(){
$("#show").click(function(){
$("#showhide").show();
});
$("#hide").click(function(){
$("#showhide").hide();
});
})
and some change to your html
Live demo
Or you can use nth-child
selector:
$('input').click(function(){
if($(this).val() == "Hide Associate"){
$('th:nth-child(2), td:nth-child(2), th:nth-child(3):not(:first), td:nth-child(3), th:nth-child(4), td:nth-child(4), th:nth-child(5), td:nth-child(5)').hide();
}else{
$('th:nth-child(2), td:nth-child(2), th:nth-child(3):not(:first), td:nth-child(3), th:nth-child(4), td:nth-child(4), th:nth-child(5), td:nth-child(5)').show();
}
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With