この機能を複製しようとしています: http://datatables.net/release-datatables/examples/api/row_details.html
この例では、次の関数を提供しています。
/* Formating function for row details */
function fnFormatDetails ( oTable, nTr )
{
var aData = oTable.fnGetData( nTr );
var sOut = '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">';
sOut += '<tr><td>Rendering engine:</td><td>'+aData[1]+' '+aData[4]+'</td></tr>';
sOut += '<tr><td>Link to source:</td><td>Could provide a link here</td></tr>';
sOut += '<tr><td>Extra info:</td><td>And any further details here (images etc)</td></tr>';
sOut += '</table>';
return sOut;
}
この関数を次のように変更しました。
/* Formating function for row details */
function fnFormatDetails(oTable, nTr) {
var aData = oTable.fnGetData(nTr);
var sOut = jQuery.ajax({
url: "ajax/order_history_orderlines.asp",
type: 'post',
data: { orderid: aData[1] },
context: document.body
});
return sOut;
}
これを FireBug でデバッグすると、ajax 応答がすべて正しく動作することがわかります。要求が行われ、成功し、正しい情報が返されています。返されるものは次のとおりです。
<!-- Teplate for orderlines found in rs Record Set -->
<table cellpadding="5" cellspacing="0" border="0" style="padding-left: 50px;">
<tr>
<td>
Quantity:
</td>
<td>
1
</td>
<td>
Description:
</td>
<td>
48 Cans of drink
</td>
</tr>
</table>
ただし、[+] ボタンをクリックすると行が展開されますが、「詳細」行は ajax リクエストから返されたテーブルで更新されません。
例などからすべてを使用すると、sOut = <table>
機能します。ajaxリクエストを取得するように切り替えると、エラー0で動作しなくなります。
ここで私が見逃しているものを見ることができますか?