【发布时间】:2018-06-16 06:28:59
【问题描述】:
我正在通过按钮点击事件动态创建表格
function createTable() {
$.ajax ({
url: 'php/GetData.php',
type: 'POST',
data: {id:25},
success: function(msg){
var obj = JSON.parse(msg);
var tableString = "<table id='tbla' class='display'><thead><tr><th>Name<th>Age<th>Birthday</tr></thead><tbody>";
for (var i=0; i<obj.length; i++) {
//alert(obj[i].name);
tableString += gg_stringformat("<tr><td>{0}<td>{1}<td>{2}</tr>", obj[i].name, obj[i].age, obj[i].birthday);
}
tableString += "</tbody></table>";
//alert(tableString);
$('#divb').html(tableString);
$('#tbla').dataTable();
}
});
}
方法
$('#tbla').dataTable();
不起作用。
当我将此行放在$(document).ready(function(){.....}); 中时,会发生错误并且什么都看不到。因为具有此 id 的表仍未呈现。如何完成这项任务?
所有适当的文件都已正确链接。
<link rel="stylesheet" href="DataTables/dataTables.min.css"></style>
<script type="text/javascript" src="DataTables/dataTables.min.js"></script>
function gg_stringformat() {
var argcount = arguments.length,
string,
i;
if (!argcount) {
return "";
}
if (argcount === 1) {
return arguments[0];
}
string = arguments[0];
for (i = 1; i < argcount; i++) {
string = string.replace(new RegExp('\\{' + (i - 1) + '}', 'gi'), arguments[i]);
}
return string;
}
【问题讨论】:
-
如问题代码所示在ajax成功中初始化它是否不起作用?
-
请包括错误的确切文本。
-
@Tom 错误未出现,但 JavaScript 由于错误而无法工作。
-
@GGSoft:在这种情况下,我认为说发生错误是不正确的。浏览器很可能正在做它认为你想要的事情,并且做得很成功。这是一个重要的区别。也许有隐藏表格的 CSS。函数执行时,
#divb可能不存在。也许msg有length0。
标签: javascript datatable html-table