如何在单击按钮时显示隐藏列

时间:2013-12-13 12:36:59

标签: javascript jquery html button show-hide

我有一张桌子,我需要隐藏/显示表格列,当点击列隐藏列时,该按钮将出现。当点击按钮我想显示隐藏的coloumn我该怎么办? 在这里查看我的代码http://jsfiddle.net/9QkVd/29/

谢谢

$(function() {
    $('table tbody tr:odd').addClass('alt');

    $('table tbody tr').hover(function() {
        $(this).addClass('hover');
    }, function() {
        $(this).removeClass('hover');
    });
});

$('tr th:gt(0)').click(function() {

    var index = (this.cellIndex + 1);
    var cells = $('table tr > :nth-child(' + index + ')');
    cells.toggleClass('hide');

    if ($(this).hasClass('hide')) {
        $(this).find('span').html('<b>+</b>');
    }
    else {
        $(this).find('span').html('<b>-</b>');
    }

    if ($('table tr > th:not(.hide)').length)
        $('table').removeClass('hide');
    else
        $('table').addClass('hide');
     $('.btnAssociate').show();
});

 $('.btnAssociate').click(function()
    {


         $('.btnAssociate').hide();

    });

2 个答案:

答案 0 :(得分:2)

试试这个,

$('.btnAssociate').click(function () {
    $('table th,table td').removeClass('hide');
    $('.btnAssociate').hide();
});

Demo

答案 1 :(得分:1)

以下是nifty way of doing it,您可以继续隐藏列并按顺序将其恢复为最近点击的项目

基本上添加一个数组来存储您单击的列的索引值:

var indexVal = [];

然后点击按钮点击功能:

var cells = $('table tr > :nth-child(' + indexVal[indexVal.length-1] + ')');
cells.toggleClass('hide');
indexVal.pop();
if (!indexVal) $('.btnAssociate').hide();