如何使用版本1.10.5 API迭代jquery dataTable

时间:2015-03-31 19:46:02

标签: javascript jquery jquery-datatables

我有以下代码,它与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>

0 个答案:

没有答案