我有以下代码,它与jquery dataTable 1.9.4一起工作正常,但是在jquery dataTable 1.10.5中没有工作,FOR循环中的第一行不起作用,它没有检查每个选中checkAll复选框时选中行复选框。有人能告诉我如何使用1.10.5 API转换FOR循环内的代码吗?我尝试使用以下代码,但不确定如何引用函数中的每一行。非常感谢。
使用dataTable 1.10.5:
var dTable = $('#users').DataTable();
dTable.data().each( function()
{
// not sure what to do here
})
以下代码使用1.9.4 API,但是当我包含1.10.5 dataTable库时,它停止工作:
<script type="text/javascript" src="js/jquery.dataTables.js"></script>
<script type="text/javascript" src="js/jquery.dataTables.min.js"></script>
function checkAll()
{
var oTable = $('#users').dataTable();
var oSettings = oTable.fnSettings();
for(var i = 0; i < oSettings.aiDisplay.length; i++)
{
// doesn't work in 1.10.5, put a check on the checkbox for each row
$('input', oTable.fnGetNodes(oSettings.aiDisplay[i])).attr('checked', this.checked);
if ( this.checked == true )
{
$(oTable.fnGetNodes(oSettings.aiDisplay[i])).addClass('row_selected');
}
else
{
$(oTable.fnGetNodes(oSettings.aiDisplay[i])).removeClass('row_selected');
}
}
}
数据表HTML:
<DIV id ="tablePanel">
<table class="userTable" cellpadding="4" rules="all" border="1" id="users">
<THEAD>
<TR>
<th><input type="checkbox" id ="check_all" class="call-checkbox" name="check_all" onclick="javascript:checkAll();">Select users</th>
<th>User Id</th>
<th>Full Name</th>
</TR>
</THEAD>
<TBODY>
</TBODY>
</table>
</DIV>