发布于 2014-05-10 00:04:37
您可以将子行的数据存储在父行的data
属性中,并相应地更改示例中的format
方法。就像这样
在您的HTML中:
<tr data-child-name="test1" data-child-value="10">
<td>ParentRow</td>
<td>No. 1</td>
</tr>
在click
处理程序中(示例中的第50行):
row.child(format(tr.data('child-name'), tr.data('child-value'))).show();
作为format
方法,如下所示:
function format (name, value) {
return '<div>Name: ' + name + '<br />Value: ' + value + '</div>';
}
发布于 2016-12-09 03:01:34
虽然从技术上讲,这个示例并不完全使用AJAX,但它本质上是完全相同的概念。你仍然被迫使用格式化函数添加行,无论是格式化函数构建从AJAX获取值的HTML,还是硬编码到数据属性中,有什么区别。
据我所知,没有办法从一开始就将子行插入到HTML中,而只是让展开控件只显示子行的现有HTML,而不是构建子行HTML,将其插入到DOM中并显示它。
发布于 2020-10-15 18:10:29
不管是谁最终来到这里。我知道这个问题已经有了一个公认的答案,但它对我来说不起作用。对我有用的是:我使用了这里的确切示例:https://datatables.net/examples/api/row_details.html我唯一更改的是
$(document).ready(function() {
var table = $('#example').DataTable( {
"ajax": "../ajax/data/objects.txt", <-- this line I changed
至
$(document).ready(function() {
var table = $('#example').DataTable( {
"data": <%-JSON.stringify(data.table)%>,
我使用ejs,所以我从服务器端发送数据,在html中,我可以使用<%= data %>,它有表,但在html脚本中,我必须像这样使用data.table:
<%-JSON.stringify(data.table)%>
https://stackoverflow.com/questions/23566754
复制相似问题