【发布时间】:2015-08-25 11:43:03
【问题描述】:
我有点迷茫,看不出我的代码有什么问题。这是我通过 jquery 加载 xml 文件的情况。然后我想在我的 html 表上使用 DataTables。不幸的是它不起作用(我的意思是表已创建但插件未激活)。我尝试了不同的方法,通过在我的代码中手动输入我的数据来创建一个 HTML 表,然后它就起作用了。由于 DataTables 提供的所有示例都带有已经创建的 HTML 表,有人可以帮助我在通过 jquery 创建 HTML 表时如何使 DataTables 工作:
我的xml数据叫rocol
<?xml version="1.0" encoding="UTF-8"?>
-<document>
-<row>
<Col0>1</Col0>
<Col1>2</Col1>
<Col2>3</Col2>
</row>
-<row>
<Col0>2</Col0>
<Col1>4</Col1>
<Col2>5</Col2>
</row>
</document>
我的代码:
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery-1.11.3.js"></script>
<script src="https://cdn.datatables.net/1.10.8/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.8/css/jquery.dataTables.min.css"/>
<script>
$(document).ready(function(){
$.ajax({
type: "GET",
url: "rocol.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('row').each(function(){
var Cl0 = $(this).find("Col0").text();
var Cl1 = $(this).find("Col1").text();
var Cl2 = $(this).find("Col2").text();
$('<tr></tr>').html('<td>'+Cl0+'</td><td>'+Cl1+'</td><td>'+Cl2+'</td>').appendTo('#chart');
});
}
});
});
$(document).ready(function() {
$('#chart').DataTable();
} );
</script>
</head>
<body>
<table id="chart" class="display" cellspacing="0" width="50%">
<thead>
<tr>
<th>Order</th>
<th>Dataheader</th>
<th>Dataheader2</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Order</th>
<th>Dataheader</th>
<th>Dataheader2</th>
</tr>
</tfoot>
<tbody>
<tr></tr>
</tbody>
</table>
</body>
</html>
提前致谢
萨斯卡
【问题讨论】:
-
还值得注意的是,您将数据添加到表中,而不是子 tbody。
标签: javascript html ajax xml datatables