[英]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.