以编程方式使用jQuery和dataTables创建表

问题描述 投票:1回答:2

我正在使用dataTables在Django网络应用上以编程方式呈现表:

jQuery

$(document).ready(function() {
    $("#dynamic0").html('<table cellpadding="0" cellspacing="0" border="0" class="display table table-striped table-bordered" id="peak_table_0"></table>');
    $('#peak_table_0').dataTable( {
        "aaData": {{ table_data|safe }},
        "aoColumns": {{ table_headings|safe }}
    });
});

HTML

<div id="dynamic0"></div>

我将有许多相似的表,其中只有数据会更改,因此我想自动创建表。我试图将jQuery初始值设定项放在一个循环中,但是在这种情况下,这些表不会呈现:jQuery

$("div1").each(function(index) {
    var table_id = "peak_table_" + index
    $(this).html('<table cellpadding="0" cellspacing="0" border="0" class="display table table-striped table-bordered" id="'+table_id+'"></table>');

    $(table_id).dataTable( {
        "aaData": {{ table_data|safe }},
        "aoColumns": {{ table_headings|safe }}
    });
});

HTML

<div1 id="dynamic0"></div1>
<div1 id="dynamic1"></div1>

我猜测选择器没有正确识别。有什么建议吗?

javascript jquery html jquery-selectors datatables
2个回答
0
投票

更改

div1

收件人

div

我在DOM扼流圈中有一个预感jQuery,因为它不是有效的HTML标记。


0
投票

以下作品。它在table_id中缺少'#'。

$("div1").each(function(index){
      var table_id = "peak_table_"+index;
      $(this).html('<table cellpadding="0" cellspacing="0" border="0" class="display table table-striped table-bordered" id="'+table_id+'"></table>');
      $("#"+table_id).dataTable( {
          "aaData": {{ table_data|safe }},
          "aoColumns": {{ table_headings|safe }}
      });
});
© www.soinside.com 2019 - 2024. All rights reserved.