我们如何在 jQuery Datatable 调用结果中启动另一个 jQuery 插件而不是页面就绪功能?

Posted

技术标签:

【中文标题】我们如何在 jQuery Datatable 调用结果中启动另一个 jQuery 插件而不是页面就绪功能?【英文标题】:How can we initiate another jQuery plugin inside jQuery Datatable call results instead of page ready function? 【发布时间】:2016-08-04 04:10:17 【问题描述】:

对于我的 Web 应用程序,我使用带有 ajax 的 jQuery 数据表从数据库中获取数据。实际上,“icheck”是在 jQuery 页面就绪函数中启动的。问题是在调用数据表或数据表中发生任何过滤器或搜索后,获取数据正确,并且 icheck 复选框显示为正常复选框。 我怎样才能回忆起数据表调用中的 icheck 插件调用。我的代码如下

<table id="viewcat" class="table table-bordered table-striped mar-bottom0 mydatatable">
  <thead>
    <tr>
      <th style="width: 9%"><input type="checkbox" class="minimal" id="bulkDelete" /> <button type="submit" id="deleteTriger" name="submit" class="btn btn-primary btn-xs hor-align" value="Delete Selected" >Delete</button></th>
      <th style="width: 2%">Sl.no</th>
      <th style="width: 15%">Category Name</th>                  
      <th style="width: 20%">Reference Links</th>
      <th style="width: 25%">Image</th>
      <th style="width: 15%"></th>
      <th style="width: 10%"></th>
    </tr>
  </thead>                  
</table>

脚本如下

<script>
  $(function ()    
    $("#viewcat").DataTable(
      "fnRowCallback" : function(nRow, aData, iDisplayIndex)               
               $("td:nth-child(2)", nRow).append(aData[7]);
               return nRow;
            ,      
      "processing": true,
      "serverSide": true,
      "order": [ 2, "asc" ],
      "aoColumnDefs": [  "bSortable": false, "aTargets": [ 0, 1, 4, 5 ,6]  ],
      "ajax":
          url :"maincategory/viewdata.php", // json datasource
          type: "post",        
          error: function()  
          $(".viewcat-error").html("");
          $("#viewcat").append('<tbody class="viewcat-error"><tr><th colspan="7">No data found in the server</th></tr></tbody>');
          $("#viewcat_processing").css("display","none");          
          
      
    );

  );
</script>

请帮我解决它..

【问题讨论】:

iCheck激活码在哪里? 将数据追加到表后,将//iCheck for checkbox and radio inputs $('input[type="checkbox"].minimal, input[type="radio"].minimal').iCheck( checkboxClass: 'icheckbox_minimal-blue', radioClass: 'iradio_minimal-blue' );放入$.ajax.success ajax 成功不支持 jQuery 数据表..它不提供任何结果 这里提供的"ajax": function (data, callback, settings) 怎么样ajax datatables 【参考方案1】:

哦..终于找到了..这可能对其他人有帮助..数据表插件中已经存在一个 api 函数而不是 ajax 成功..即“fnDrawCallback”。

<script>
  $(function ()    
    $("#viewcat").DataTable(
      "fnRowCallback" : function(nRow, aData, iDisplayIndex)               
               $("td:nth-child(2)", nRow).append(aData[7]);
               return nRow;
            ,
      "fnDrawCallback": function( oSettings )
              $('input[type="checkbox"].minimal, input[type="radio"].minimal').iCheck(
                  checkboxClass: 'icheckbox_minimal-blue',
                  radioClass: 'iradio_minimal-blue'
                );,      
      "processing": true,
      "serverSide": true,
      "order": [ 2, "asc" ],
      "aoColumnDefs": [  "bSortable": false, "aTargets": [ 0, 1, 4, 5 ,6]  ],
      "ajax":
          url :"maincategory/viewdata.php", // json datasource
          type: "post",        
          error: function()  
          $(".viewcat-error").html("");
          $("#viewcat").append('<tbody class="viewcat-error"><tr><th colspan="7">No data found in the server</th></tr></tbody>');
          $("#viewcat_processing").css("display","none");          
          
      
    );

  );
</script>

【讨论】:

以上是关于我们如何在 jQuery Datatable 调用结果中启动另一个 jQuery 插件而不是页面就绪功能?的主要内容,如果未能解决你的问题,请参考以下文章

在 JQuery Datatable 中选择另一个页面后如何重绘 Datatable?

JQuery的datatable里搜索功能怎么修改

使用 jQuery ajax 调用重新加载 DataTable 内容

在 Jquery DataTable 中调用 fnAdjustColumnSizing 的位置

Jquery DataTable 事件未调用

如何实现bootstrap jquery dataTable异步ajax刷新表格数据