Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用destroy()时Datatables错误:无法执行';插入前';在';节点';:要在其前面插入新节点的节点_Javascript_Jquery_Datatables - Fatal编程技术网

Javascript 使用destroy()时Datatables错误:无法执行';插入前';在';节点';:要在其前面插入新节点的节点

Javascript 使用destroy()时Datatables错误:无法执行';插入前';在';节点';:要在其前面插入新节点的节点,javascript,jquery,datatables,Javascript,Jquery,Datatables,如何使用数据表: 从数据库中获取数据 使用下划线.js模板将数据转换为行对象 用行填充我的表的 然后我在我拥有的表上初始化Datatable 问题是,当我尝试向表中添加更多行时,我没有使用API,所以我只是直接向中添加行,并且我希望DataTables使用新的重新编辑它 我正在尝试删除该表,但发生的情况是,我得到以下错误: 未捕获的DomeException:未能在“节点”上执行“insertBefore”: 要在其前面插入新节点的节点不是的子节点 此节点。(…) 我创建了一个用于复制我试图使用

如何使用数据表:

  • 从数据库中获取数据
  • 使用下划线.js模板将数据转换为行对象
  • 用行填充我的表的
  • 然后我在我拥有的表上初始化Datatable
  • 问题是,当我尝试向表中添加更多行时,我没有使用API,所以我只是直接向
    中添加行,并且我希望DataTables使用新的
    重新编辑它

    我正在尝试删除该表,但发生的情况是,我得到以下错误:

    未捕获的DomeException:未能在“节点”上执行“insertBefore”: 要在其前面插入新节点的节点不是的子节点 此节点。(…)

    我创建了一个用于复制我试图使用Datatables执行的操作,但它不会复制错误

    我发现了一个关于相同错误的问题:

    无需销毁和初始化,只需使用api重新绘制表即可

    function Repopulate() {
        //...
        //...
        //...
        //init() //remove this line and add the one below
        $("#changeLogTable").DataTables().draw(); 
    } 
    

    无需销毁和初始化,只需使用api重新绘制表即可

    function Repopulate() {
        //...
        //...
        //...
        //init() //remove this line and add the one below
        $("#changeLogTable").DataTables().draw(); 
    } 
    

    您只需要在datatable配置中添加“检索”:true、选项

    function init(){
        ruleChangeLogTable = $('#changeLogTable').DataTable({
          //I use destroy because I want to recreate the table with new data.
                "bLengthChange": false,
                "bPaginate": false,
                 "retrieve": true,              // this option is added
                "bInfo": false,
                "autoWidth": false,
                "order": [[0, "desc"]],
                "dom": '<"#searchInput"f>',
                "oLanguage": { "sSearch": "" },
                "columns": [ 
                null,
                    null,
                    null,
                    null, 
                     null
                ]
            });
        }
    
    函数init(){
    ruleChangeLogTable=$('#changeLogTable')。数据表({
    //我使用destroy是因为我想用新数据重新创建表。
    “bLengthChange”:false,
    “bPaginate”:错误,
    “retrieve”:true,//添加此选项
    “bInfo”:假,
    “自动宽度”:false,
    “订单”:[[0,“说明”]],
    “dom”:“”,
    “语言”:{“搜索”:“”},
    “列”:[
    无效的
    无效的
    无效的
    无效的
    无效的
    ]
    });
    }
    
    有关更多详细信息,请参阅


    希望这对您有所帮助

    您只需在datatable配置中添加“retrieve”:true、选项即可

    function init(){
        ruleChangeLogTable = $('#changeLogTable').DataTable({
          //I use destroy because I want to recreate the table with new data.
                "bLengthChange": false,
                "bPaginate": false,
                 "retrieve": true,              // this option is added
                "bInfo": false,
                "autoWidth": false,
                "order": [[0, "desc"]],
                "dom": '<"#searchInput"f>',
                "oLanguage": { "sSearch": "" },
                "columns": [ 
                null,
                    null,
                    null,
                    null, 
                     null
                ]
            });
        }
    
    函数init(){
    ruleChangeLogTable=$('#changeLogTable')。数据表({
    //我使用destroy是因为我想用新数据重新创建表。
    “bLengthChange”:false,
    “bPaginate”:错误,
    “retrieve”:true,//添加此选项
    “bInfo”:假,
    “自动宽度”:false,
    “订单”:[[0,“说明”]],
    “dom”:“”,
    “语言”:{“搜索”:“”},
    “列”:[
    无效的
    无效的
    无效的
    无效的
    无效的
    ]
    });
    }
    
    有关更多详细信息,请参阅


    希望这对您有所帮助

    但是当您在搜索输入中键入内容并删除时,您将得到前一个表。我猜您更改了初始演示代码。我无法重现您的要求。但当您在搜索输入中键入内容并删除时,您将得到前一个表。我猜您更改了初始演示代码。我无法复制您要求的内容。它对我不起作用,只有在我使用销毁功能时才起作用,并且在我的计算机中使用销毁功能时,我收到一个错误:无法在“节点”上执行“insertBefore”:要插入新节点的节点不是此节点的子节点。(…)不要像刚才演示的那样详细描述datatable,因为它刚刚添加了“retrieve”:true,当清除search previous table获得显示时,它适用于meNo。但是警告:无法重新初始化datatable。。。这个错误消失了看一下更新的演示和问题,它在演示中起作用,但在我的计算机中我发现了这个错误。你需要检查datatable js版本吗?它对我不起作用,只有当我使用销毁功能时,它才起作用。当我在我的计算机中使用销毁功能时,我得到一个错误:无法在“节点”上执行“insertBefore”:插入新节点之前的节点不是该节点的子节点。(…)不要像您在演示中刚刚添加“retrieve”的那样删除数据表:true,当清除“搜索上一个表”以获得显示时,它适用于meNo。但警告:无法重新初始化Datatable。。。这个错误消失了看一下更新的演示和问题,它在演示中工作,但在我的计算机中我得到了这个错误。你需要检查datatable js版本吗?