我在网站上使用 jQuery DataTable,但每次我按下不同的超链接时,表中的所有数据都会发生变化。因此,不是删除行并逐行添加它们,有没有一种方法可以动态删除整个 DataTable 并使用数组重新创建一个包含所有数据的数据表。
这里的代码只是计划旧的静态内容,但我知道如何动态获取数组,假设当我从 python/cherryPy 取回数组时,它看起来像这样: ar[n]=["col1","col2","col3","col4",..."coln"] :
下面的代码是在 HTML 中创建 DataTable 的静态代码(静态)...
<div id="div1" class="ctnr">
<table id="mainTable1" class="dtable" cellpadding="3" cellspacing="1" border="0">
<thead>
<tr><th>*</th><th>Proposal</th><th>Vote </th><th> For </th><th>dd</th><th>A</th></tr>
</thead>
<tbody id="tbdy">
<tr id="zrow1" class="gradeX"><td><input id="ckb1" type="checkbox" class = "tb" /></td><td id="ppl1" class="ppsal" style="width:55%">BlaBlaBla</td><td>More BlaBlaBla</td><td class="ralign"> CheeCheeChee</td><td class="ralign"> ChooChoo...</td><td class="ralign"> LaLaLa</td></tr>
</tbody>
</table>
</div>
我如何在 JavaScript 或 jQuery 中执行此操作?
丹尼斯
最佳答案
DataTables允许您使用他们所谓的“data sources”以编程方式定义表的结构和数据。
文档中有一些示例。我不确定哪一个适合您,但这里有一些可以帮助您入门:
- DataTables dynamic creation example (使用 JS 数组)
- DataTables AJAX source example (通过 AJAX 使用 JS 数组)
您可以将其与 the bDestroy()
method 结合使用避免重新创建 <table>
标签。
另一种方法是在不重新创建表格的情况下重新设置行。据我所知,没有 setData() 方法,但您可以使用 fnClearTable()
和 fnAddData()
达到相同结果的方法。您可以在 DataTables API docs 中阅读有关这些方法的更多信息.
关于javascript - DataTables 如何在 jquery 或 javascript 中动态添加它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9772342/