Javascript 如何将动态表转换为jquery数据表?
我正在从动态创建一个HTML表。然后我想把这个表转换成一个datatable。但当我尝试这样做时,我不断得到一个错误,即:Javascript 如何将动态表转换为jquery数据表?,javascript,jquery,json,ajax,datatable,Javascript,Jquery,Json,Ajax,Datatable,我正在从动态创建一个HTML表。然后我想把这个表转换成一个datatable。但当我尝试这样做时,我不断得到一个错误,即: 未捕获类型错误:无法读取未定义的属性“mData” 我的jquery是: $(document).ready(function() { $('#action-button').click(function() { $.ajax({ url: 'https://api.myjson.com/bin
未捕获类型错误:无法读取未定义的属性“mData”
我的jquery是:
$(document).ready(function() {
$('#action-button').click(function() {
$.ajax({
url: 'https://api.myjson.com/bins/1oaye',
data: {
format: 'json'
},
error: function() {
$('#info').html('<p>An error has occurred</p>');
},
dataType: 'json',
success: function(data) {
// EXTRACT VALUE FOR HTML HEADER.
var col = [];
for (var i = 0; i < data.length; i++) {
for (var key in data[i]) {
if (col.indexOf(key) === -1) {
col.push(key);
}
}
}
// CREATE DYNAMIC TABLE.
var table = document.createElement("table");
// CREATE HTML TABLE HEADER ROW USING THE EXTRACTED HEADERS ABOVE.
var tr = table.insertRow(-1); // TABLE ROW.
for (var i = 0; i < col.length; i++) {
var th = document.createElement("th"); // TABLE HEADER.
th.innerHTML = col[i];
tr.appendChild(th);
}
// ADD JSON DATA TO THE TABLE AS ROWS.
for (var i = 0; i < data.length; i++) {
tr = table.insertRow(-1);
for (var j = 0; j < col.length; j++) {
var tabCell = tr.insertCell(-1);
tabCell.innerHTML = data[i][col[j]];
}
}
// FINALLY ADD THE NEWLY CREATED TABLE WITH JSON DATA TO A CONTAINER.
var divContainer = document.getElementById("showData");
divContainer.innerHTML = "";
divContainer.appendChild(table);
// convert it to a data table
table.setAttribute("id", "example");
$('#example').DataTable();
},
type: 'GET'
});
});
});
$(文档).ready(函数(){
$(“#操作按钮”)。单击(函数(){
$.ajax({
网址:'https://api.myjson.com/bins/1oaye',
数据:{
格式:“json”
},
错误:函数(){
$('#info').html('发生错误');
},
数据类型:“json”,
成功:功能(数据){
//提取HTML头的值。
var col=[];
对于(变量i=0;i
如何从json创建动态表或将其转换为数据表
快速查看一下数据表代码,可能的原因是您没有将
放在
部分。目前它们位于
内
这是最新的提琴。。。
我想这可能就是问题所在。你知道我如何把这个文件包装成一个?var header=table.createTHead();var row=表头.插入行(0);谢谢K Scandrett,离我们更近了一步。它删除了错误,但数据表功能仍然不起作用。如果你查看表格下方,它会显示
表格中没有可用的数据
,如果你尝试搜索或排序,它似乎不起作用。这是因为小提琴现在把所有东西都放在下面了。。。。对不起,让我看看能不能修好。