我有一个很大的信息表,可能会有点压倒性的。我目前有按钮隐藏或显示某些列,以便更容易找到您需要的。我使用此代码来显示/隐藏。
<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示例(如果这有所不同)。
答案 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])