Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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 当我从另一个页面将内容加载到div中时,jQueryDatePicker和datatables不会启动_Javascript_Jquery - Fatal编程技术网

Javascript 当我从另一个页面将内容加载到div中时,jQueryDatePicker和datatables不会启动

Javascript 当我从另一个页面将内容加载到div中时,jQueryDatePicker和datatables不会启动,javascript,jquery,Javascript,Jquery,好的,所以,在1个页面上(使用我的页眉和页脚(使用javascript内容))我正在将另一个页面的内容加载到divcontent,现在当我直接查看从外部页面加载的div时,所有的数据表都会工作,日期选择器等也会工作,但是当我在该页面上时,我想要填充数据(从另一个页面)这些都不起作用,我在最后有代码,所以页面有加载 正在加载的页面 <div id="inner_main_content">all the content I want on the other page will be

好的,所以,在1个页面上(使用我的页眉和页脚(使用javascript内容))我正在将另一个页面的内容加载到div
content
,现在当我直接查看从外部页面加载的div时,所有的数据表都会工作,日期选择器等也会工作,但是当我在该页面上时,我想要填充数据(从另一个页面)这些都不起作用,我在最后有代码,所以页面有加载

正在加载的页面

<div id="inner_main_content">all the content I want on the other page will be here</div>
无错误等,如前所述,当直接查看正在加载的页面时,它正在初始化,但当它已加载时,它不会初始化,如何修复此问题

例如,我的负载:

$("#content").load("<?php echo Config::get('URL'); ?>user/edit_profile" + " #inner_main_content");

您应该使用jquery的load complete功能,如:

$( "#content" ).load( "<?php echo Config::get('URL'); ?>user/edit_profile" + " #inner_main_content", function() {
    alert( "Load was performed." );
    //fix table
    $('#employment_history').dataTable({
        "bFilter": false,
         "bLengthChange": false
    });
});
$(“#内容”).load(“用户/编辑#配置文件”+“#内部#主#内容”,函数(){
警报(“已执行加载”);
//固定桌
$(“#就业历史”)。数据表({
“bFilter”:错误,
“bLengthChange”:false
});
});

当jquery load使用页面的节时,页面上呈现的脚本将丢失,您需要在加载事件完成时附加一个处理程序来呈现所有jquery控件,请检查节脚本执行

$( "#content" ).load( "<?php echo Config::get('URL'); ?>user/edit_profile" + " #inner_main_content", function( response, status, xhr ) {
  if ( status != "error" ) {
     $("#employment_history").dataTable({
        "bFilter": false,
         "bLengthChange": false
    });
    $("input#datepiker").datepicker();
  }
});
$(“#内容”).load(“用户/编辑#配置文件”+“#内部#主#内容”,函数(响应、状态、xhr){
如果(状态!=“错误”){
$(“#就业历史”)。数据表({
“bFilter”:错误,
“bLengthChange”:false
});
$(“输入#datepiker”).datepicker();
}
});

我也有同样的问题。。我对页面加载使用了setTimeout()方法。。只需对具有datepicker字段的页面使用setTimeout()。。也许这对你也有帮助

在另一个页面加载完成后初始化datepicker和datatablejquery。就像通过ajax调用另一个页面数据一样。如果成功,在转储数据初始化jqery.是的,我可以这样做,但这需要初始化它,我会尝试找到一种方法来委派它,所以我只需要初始化一次。如果初始内容不需要dataTable或datepicker,可以按照@KushalVora的建议执行。您不必两次初始化脚本,只需在加载异步内容之后。初始化时共享javascript代码。否则我们也帮不了你,即使中间有一笔赏金,我也会使用倍数。因此,我为什么要尝试授权。如果可能的话,请阅读OP底部的说明。谢谢。我做了,但我不明白为什么你需要以这种方式加倍,你应该只以这种方式加载数据表。在一般情况下,javascript无法知道所有内容何时准备就绪,因为您始终可以异步加载内容。因为当用户更新表单时,或者如果url中的哈希匹配,或者访问它将使用加载的链接时,每个url有4次加载,这意味着我必须对同一数据表进行4次初始化。好的,这不是很好,但是没有其他方法可以使用load解决这个问题。
$('content').on('live', function(){
     //all my datatables, datepickers etc here
});
$( "#content" ).load( "<?php echo Config::get('URL'); ?>user/edit_profile" + " #inner_main_content", function() {
    alert( "Load was performed." );
    //fix table
    $('#employment_history').dataTable({
        "bFilter": false,
         "bLengthChange": false
    });
});
$( "#content" ).load( "<?php echo Config::get('URL'); ?>user/edit_profile" + " #inner_main_content", function( response, status, xhr ) {
  if ( status != "error" ) {
     $("#employment_history").dataTable({
        "bFilter": false,
         "bLengthChange": false
    });
    $("input#datepiker").datepicker();
  }
});