我試圖創建與此類似的功能:http://www.datatables.net/release-datatables/examples/api/row_details.html。使用Ajax請求創建帶有嵌套表的新行
與我的代碼唯一的主要區別是,我試圖通過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;
});
});
的問題是,它拋出一個錯誤:在jquery.dataTables.js/V的1776線
Could not convert JavaScript argument arg 0 [nsIDOMHTMLTableCellElement.appendChild] [Break On This Error] nNewCell.appendChild(mHtml);
1.8.3.dev
問題是什麼?任何建議非常感謝。
您可以通過3個論據這樣fnFormatDetails?該示例只顯示了兩個傳遞的參數,oTable和nTr。 –
@Greg Pettit - 爲什麼不呢?我認爲你可以儘可能多地傳球。你不能嗎? – Iladarsda
我不知道,因此它爲什麼形成一個問題。但大概這個功能是按照你以規定的方式傳遞給它的。如果你任意地向其中添加新的東西,該函數可能不知道如何處理它。 –