2015-10-09 48 views
0

我有多個通過php函數輸出的表。這些表格,然後與數據表插件,它要求我引用表的ID後的文件已準備好進行格式化:將一個javascript變量附加到一個HTML屬性

$(document).ready(function() { 
    for (i = 0; i < ntables; i++) { 
     $('#Main_Data_Table'+i).DataTable(); 
    } 
}); 

所以,當我創建的表,我只是想追加的表數( ntables)的id類似於以下內容:

<script>ntables++;</script> 
<table id="Main_Data_Table<script>echo ntables</script>" class="display"> 

我習慣於使用PHP,因此回聲當然不起作用。當我創建表時,如何簡單地將ntables變量附加到ID上?

+0

在你的PHP是你的表創建一個for循環?如果可以的話,你可以在你的問題中加入嗎? – depperm

+3

您可以通過在所有表上使用單個公共類來節省對醜陋增量'id'屬性的需求,並使用該類在單行中初始化所有數據表:$('。datatable' ).DataTable();' –

回答

-1

最好的方法是在打印表格時直接從PHP添加ID。如果出於某種原因,這是不可能的,那麼你可以嘗試.getElementsByClassName(「某個類」),然後改變每個元素的ID。

0

如果要使用動態ID創建HTML元素,則需要在編程語言中使用循環。您可以使用服務器端腳本JavaScript來創建HTML,或建造中的所有表:

for (var i = 0; i < ntables; i++) { 
    $("#container").append($("<table>", { 
     id: "Main_Data_Table_" + i, 
     "class": "display" 
    }).DataTable()); 
} 
0

JS方式

$(document).ready(function() { 

    var tables = $("table.display"); 

    for(i = 1; i <= tables.length; i++){ 
     $(tables[i]).attr("id", "Main_Data_Table"+i); 
    }  

}); 

因此,在你的PHP代碼,你只需要生成一串的表與class="display"

相關問題