将多个变量传递给javascript函数?

时间:2013-03-18 02:57:19

标签: javascript function datatables

我有一个很大的信息表,可能会有点压倒性的。我目前有按钮隐藏或显示某些列,以便更容易找到您需要的。我使用此代码来显示/隐藏。

<script type="text/javascript" charset="utf-8">    
function fnShowHide( iCol )
    {
        var oTable = $('#tablename').dataTable();
        var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
        oTable.fnSetColumnVis( iCol, bVis ? false : true );
    }
</script>

稍后,我使用以下代码隐藏或显示表格中的某个列。

<button id="button">
    <a href="javascript:void(0);" onclick="fnShowHide(0);">Column1</a>
</button>
<button id="button">
    <a href="javascript:void(0);" onclick="fnShowHide(1);">Column2</a>
</button>
<button id="button">
    <a href="javascript:void(0);" onclick="fnShowHide(2);">Column3</a>
</button>

如何创建一个隐藏或显示多行而不是单行的按钮?

我正在使用DataTables来显示我的数据,并使用上面按钮的this示例(如果这有所不同)。

1 个答案:

答案 0 :(得分:8)

为什么不接受要隐藏的行数组?

,而不是接受单个整数作为输入
function fnShowHide( iCols )
{
    var i, iCol;
    var oTable = $('#tablename').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 );
    }
}

要将其调用为一行,您只需使用fnShowHide([2]),对于多行,您可以传递多个值,例如fnShowHide([2,3,4])