簡體   English   中英

當我將內容從另一個頁面加載到div中時,無法啟動JqueryDatepickers和datatables

[英]JqueryDatepickers and datatables not initiating when I load content into a div from another page

好的,所以,在1頁上(帶有我的頁眉和頁腳(帶有javascript內容)),我正在將另一頁的content加載到div content ,現在當我直接查看從外部頁面加載的div時,所有數據表都可以正常工作,就像datepickers一樣,但是當我在頁面上時,我想用(從另一頁面上)填充數據不起作用,我在最后端有了代碼,因此頁面已加載,

頁面正在加載

<div id="inner_main_content">all the content I want on the other page will be here</div>

頁面加載:

<div class="content"></div>

我在將jquery.load與inner_main_content div選擇器一起使用,這是我的數據表代碼的示例:

    // <!-- data tables !-->
    $('#employment_history').dataTable({
        "bFilter": false,
        "bLengthChange": false
    });

沒有錯誤,例如,狀態,直接查看正在加載的頁面時會開始顯示,而不是在加載時顯示,這如何解決?

我的負載例如:

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

請注意:我無法將數據表放入負載中,因為我的數據表太多了,並且會一遍又一遍地重復相同的數據表,如果存在,我將嘗試執行以下操作:(偽代碼)

$('content').on('live', function(){
     //all my datatables, datepickers etc here
});

您應該使用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
    });
});

當jquery加載使用頁面的一部分時,頁面上呈現的腳本會丟失,您需要在load事件完成時附加一個處理程序以呈現所有jquery控件,請查看http://api.jquery.com/load/部分Script Execution

$( "#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();
  }
});

我有同樣的問題..我使用setTimeout()方法進行頁面加載..對於具有datepicker字段的頁面僅使用setTimeout()可能會為您帶來幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM