用于使每个表列可见的按钮

时间:2013-03-23 07:20:07

标签: javascript jquery jquery-ui datatables

我使用以下代码切换表中列数组的可见性(使用DataTables JQuery PlugIn)

function fnShowHide( iCols )
    {
    var i, iCol;
    var oTable = $('#statstable').dataTable();

    for (i = 0; i < iCols.length; i += 1)
        {
        iCol = iCols[i];
        var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
        oTable.fnSetColumnVis( iCol, bVis ? false : true );
        }
    }

我会让它像这样工作......

<button id="button">
    <a href="javascript:void(0);" onclick="fnShowHide([0,4,10,11,12,13,14,15,16,17,18]);">Simplify</a>
</button>

问题是......如果我在页面上有这样的多个按钮,则列会混淆。

如何创建一个显示所有列的新功能,无论其可见性如何,甚至更好,如何使此按钮使所有内容可见,然后关闭数组中的那些?

谢谢 - 这可能很简单,但我对javascript很新。

1 个答案:

答案 0 :(得分:1)

如何获得以下代码:

<input id="myButton" value="Click Me!" />

$("#myButton").click(function () {
    showAllColumns();
});

function showAllColumns() {

    var i, iCol;
    var oTable = $('#statstable').dataTable();

    var length = /* get the number of columns */;

    for (i = 0; i < length; i += 1) {
        iCol = i;
        oTable.fnSetColumnVis( iCol, true );
    }
}