最新消息:因从typecho切换到wordpress, 由于转换导入问题,文章可能存在部分乱码或者排版问题,逐个排查修复中...

写写代码:利用JQuery 和dataTable callback,让对话框中表格显示更完美

写写代码 admin 1090浏览 0评论

有一表格,是放在Bootstrap 的Modal 框里面显示的。

因为Modal里面的内容是动态加载的,也就是Modal 对话框打开后,进行加载目标URL进行显示。而目标内容里面是表格,并且使用了dataTable进行渲染,毕竟这个dataTable表格JS格式漂亮,带分页带搜索之类的功能。

但是现在发现个问题,就是打开对话框后,先能看到一个比较丑陋的表格,接着是dataTable的JS和CSS加载完毕后才显示渲染正常的dataTable的表格。也就是渲染有个延迟。这种感觉让人很不爽。

于是查阅dataTable资料,终于找到办法了。参考 : http://legacy.datatables.net/usage/callbacks

实现办法就是在渲染完成之前先将表格区域也就是modal-body 进行隐藏。等到 dataTable 初始化完成后,也就是fnInitComplete事件,再将内容显示出来。

Modal 相关的JS脚本:

<script>
$(function() {
   $(".detail").click(function() {
    var lurl = String($(this).data('id'));
    $(".modal-title").html("Loading...");
    $(".modal-body").hide();
    $(".modal-body").load(lurl);
       });
});
</script>    

dataTable所在页面相关JS脚本

<script>
    $(document).ready(function() {
    $('#fail_detail_table').DataTable({
        "fnInitComplete": function(oSettings, json) {
          $(".modal-title").html("Detail");
          $(".modal-body").show();
        }
    });
} );
</script>

转载请注明:Linc Hu » 写写代码:利用JQuery 和dataTable callback,让对话框中表格显示更完美

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址