gpt4 book ai didi

javascript - 将 DOM 元素附加到 Datatables 包装器

转载 作者:行者123 更新时间:2023-11-29 23:27:49 25 4
gpt4 key购买 nike

我想向 Datatables 添加行tbody 使用 jQuery append() 方法。

这是完整的 JavaScript 代码:

$('#meterGroup').DataTable();
$("#meterListGroup").html("<table id='meterGroup' class='table table-striped table-bordered' cellspacing='0' width='100%'><tbody></tbody></table>");
$("#meterGroup").append("<thead><tr><th>Meter ID</th><th>Energy Consumption (kW)</th><th>Usage Ratio (%)</th></tr></thead>");

var meterId = 1;
var meterConsumption = 155;
var meterRatio = 20;

for (var i = 1; i <= 40; i++) {
$("#meterListGroup > table > tbody").append("<tr><td>" + meterId + "</td><td>" + meterConsumption + "</td><td>" + meterRatio + "</td></tr>");
meterId++;
meterConsumption++;
meterRatio++;
}

和简单的HTML:

<div id="meterListGroup"></div>

但是,Datatables 的结果不是我所期望的。缺少一些元素插件(例如搜索框分页控件等。)

enter image description here

错在哪里?是否有 JSFiddle 可以提供帮助?

$('#meterGroup').DataTable();
$("#meterListGroup").html("<table id='meterGroup' class='table table-striped table-bordered' cellspacing='0' width='100%'><tbody></tbody></table>");
$("#meterGroup").append("<thead><tr><th>Meter ID</th><th>Energy Consumption (kW)</th><th>Usage Ratio (%)</th></tr></thead>");

var meterId = 1;
var meterConsumption = 155;
var meterRatio = 20;

for (var i = 1; i <= 40; i++) {
$("#meterListGroup > table > tbody").append("<tr><td>" + meterId + "</td><td>" + meterConsumption + "</td><td>" + meterRatio + "</td></tr>");
meterId++;
meterConsumption++;
meterRatio++;
}
<link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<h3><i class="fa fa-tachometer" aria-hidden="true"></i> Meter List Information</h3>
<!-- Meter List Information -->
<div id="meterListGroup"></div>

最佳答案

使用html()append() 构造表格后,您需要对其进行初始化。

$("#meterListGroup").html("<table id='meterGroup' class='table table-striped table-bordered' cellspacing='0' width='100%'><tbody></tbody></table>");

// ... skipped ...

$('#meterGroup').DataTable();

参见 updated example用于代码和演示。

关于javascript - 将 DOM 元素附加到 Datatables 包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48414269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com