将sDom生成的html组件移出数据表?

时间:2013-08-04 21:54:02

标签: jquery concurrency datatables

我尝试使用jQuery将我的“sDom generated”,html,search组件移出我的数据表,例如:

$("#-filter_form").prepend($("#finder"));

我尝试在我的数据表初始化方法之后放置此代码。在我的脚本中还有一些方法。没有运气。

当我之后使用萤火虫时,我可以进行这种操作。

我在document.ready()里面,所以不再帮助我了。我怎样才能做到这一点?我应该做一些花哨的并发编程还是有另一种方式?

我在datatables论坛上读过这个主题,但没有什么有用的,人们说你应该像我尝试的那样用jQuery做。

From datatables forum:

  

allanallan 2012年8月帖子:16,405

     

sDom只能控制生成   DataTables容器中的元素。但是,你呢   可以做的只是简单地从生成的元素移动生成的元素   在初始化之后,位置到DOM中的其他位置   完成标准的jQuery / DOM方法(即追加/   的appendChild)。

2 个答案:

答案 0 :(得分:1)

我终于通过编辑源代码解决了这个问题。

添加了一个在所有DOM初始化后调用的回调方法。

感谢您投票给我......

答案 1 :(得分:1)

编辑源代码不是一个好主意。

你应该使用的是函数fnDrawCallback,每次表重绘时都会调用它。在这里你可以看到你需要的东西:

$(document).ready(function() {
    $('#example').dataTable({"fnDrawCallback": function( oSettings ) {
      $("#upperZone").prepend($('#example_filter'));
    }});
});

http://jsfiddle.net/HEDvf/616/

更新:

如果您只想在初始化后使用它一次,那么您的函数是fnInitCompletehttp://jsfiddle.net/HEDvf/617/