我正在尝试创建与此类似的功能:http://www.datatables.net/release-datatables/examples/api/row_details.html .
与我的代码唯一的主要区别是我尝试通过 Ajax 获取数据,但它不起作用!
Ajax 请求本身已成功发出,我可以看到响应中的 HTML 代码。
我的 JS 代码:
/* Creata TableData
--------------------------------------------*/
function fnFormatDetails ( StreetVal, oTable, nTr )
{
var sOut = $.ajax({
url: "ajax.php",
data: StreetVal,
success: function(data) {
console.log(data);
return data;
}
});
return sOut;
}
$(document).ready( function(){
$('.table-data tbody tr td a').addClass('closed');
var oTable = $('.table-data').dataTable({
"sPaginationType": "full_numbers",
"bStateSave": false,
"bRetrieve": true
});
$('.table-data tbody tr td a').live('click', function (event) {
var StreetVal = $(this).attr('href').split('#')[1];
var nTr = this.parentNode.parentNode;
if( $(this).hasClass('closed') ) {
$(this).removeClass('closed').addClass('open').html(' - ');
oTable.fnOpen( nTr, fnFormatDetails( StreetVal, oTable, nTr ), 'details' );
} else {
$(this).removeClass('open').addClass('closed').html(' + ');
oTable.fnClose( nTr );
}
return false;
});
});
问题是它抛出一个错误:
Could not convert JavaScript argument arg 0 [nsIDOMHTMLTableCellElement.appendChild] [Break On This Error] nNewCell.appendChild( mHtml );
位于 jquery.dataTables.js/v.1.8.3.dev 第 1776 行
有什么问题吗?非常感谢任何建议。
最佳答案
实际上,在 fnFormatDetails 中返回“sOut.responseText”而不是 sOut 似乎可行。
关于jquery - 使用 Ajax 请求创建包含嵌套表的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8209080/