Javascript 无法使我的数据表深入工作 $(文档).ready(函数(){ var anOpen=[]; var-oTable=$('#table_id').dataTable(); $('#table_id t body')。在('click','tr',函数(e)上{ var nTr=this.parentNode; 变量i=$.inArray(nTr,anOpen); console.log(“单击|”+i); 如果(i==-1){ var nDetailsRow=oTable.fnOpen(nTr,fnFormatDetails(oTable,nTr),“details”); $('div.innerDetails',nDetailsRow.slideDown(); 开放式推送(nTr); 控制台日志(“打开”); } 否则{ 可旋转。关闭(nTr); 开放式拼接(i,1); 控制台日志(“关闭”); } }); 函数fnFormatDetails(oTable,nTr){ var-oData=oTable.fnGetData(nTr); 瓦尔苏特= '' + '' + '渲染引擎:'+'嗨'+''+ '浏览器:'+'嗨'+''+ '平台:'+'嗨'+''+ '版本:'+'嗨'+''+ '等级:'+'嗨'+''+ '' + ''; 返回sOut; }
刚才给出了它的一部分,当我单击该行时,它确实会触发if(i==-1)然后,当我再次单击时,它会触发else并来回工作。问题是我无法显示任何内容。该表只是坐在那里,new会像应该的那样在它下面打开另一个表。控制台中没有错误,只有正确的控制台日志。nTr值正确吗?您正在这样做。parentNode,但这不应该已经是了吗这就是问题所在…非常感谢你。Javascript 无法使我的数据表深入工作 $(文档).ready(函数(){ var anOpen=[]; var-oTable=$('#table_id').dataTable(); $('#table_id t body')。在('click','tr',函数(e)上{ var nTr=this.parentNode; 变量i=$.inArray(nTr,anOpen); console.log(“单击|”+i); 如果(i==-1){ var nDetailsRow=oTable.fnOpen(nTr,fnFormatDetails(oTable,nTr),“details”); $('div.innerDetails',nDetailsRow.slideDown(); 开放式推送(nTr); 控制台日志(“打开”); } 否则{ 可旋转。关闭(nTr); 开放式拼接(i,1); 控制台日志(“关闭”); } }); 函数fnFormatDetails(oTable,nTr){ var-oData=oTable.fnGetData(nTr); 瓦尔苏特= '' + '' + '渲染引擎:'+'嗨'+''+ '浏览器:'+'嗨'+''+ '平台:'+'嗨'+''+ '版本:'+'嗨'+''+ '等级:'+'嗨'+''+ '' + ''; 返回sOut; },javascript,jquery,datatables,nested,html-table,Javascript,Jquery,Datatables,Nested,Html Table,刚才给出了它的一部分,当我单击该行时,它确实会触发if(i==-1)然后,当我再次单击时,它会触发else并来回工作。问题是我无法显示任何内容。该表只是坐在那里,new会像应该的那样在它下面打开另一个表。控制台中没有错误,只有正确的控制台日志。nTr值正确吗?您正在这样做。parentNode,但这不应该已经是了吗这就是问题所在…非常感谢你。 $(document).ready(function () { var anOpen = []; var oTable = $('#table_id').
$(document).ready(function () {
var anOpen = [];
var oTable = $('#table_id').dataTable();
$('#table_id tbody').on('click', 'tr', function (e) {
var nTr = this.parentNode;
var i = $.inArray(nTr, anOpen);
console.log("clicked|" + i);
if (i == -1) {
var nDetailsRow = oTable.fnOpen(nTr, fnFormatDetails(oTable, nTr), 'details');
$('div.innerDetails', nDetailsRow).slideDown();
anOpen.push(nTr);
console.log("open");
}
else {
oTable.fnClose( nTr );
anOpen.splice( i, 1 );
console.log("closed");
}
});
function fnFormatDetails(oTable, nTr) {
var oData = oTable.fnGetData(nTr);
var sOut =
'<div class="innerDetails">' +
'<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">' +
'<tr><td>Rendering engine:</td><td>' + 'hi' + '</td></tr>' +
'<tr><td>Browser:</td><td>' + 'hi' + '</td></tr>' +
'<tr><td>Platform:</td><td>' + 'hi' + '</td></tr>' +
'<tr><td>Version:</td><td>' + 'hi' + '</td></tr>' +
'<tr><td>Grade:</td><td>' + 'hi' + '</td></tr>' +
'</table>' +
'</div>';
return sOut;
}