我正在寻找一种显示方式,child.rows
但唯一可以显示的方式是return
直接使用。所以我制作了这段代码,以便在ajax之外它需要那些值但它没有给我,我希望你能帮助我。
代码
function format (data) {
$.ajax({
url: "list_data",
type: 'POST',
data: {'data':data[0]},
success: function (result){
for (var i = result.length - 1; i >= 0; i--){
var resultado = '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'+
'<tr>'+
'<td>Full name:result[i].nombre</td>'+
'<td></td>'+
'</tr>'+
'</table>';
}
return resultado;
}
});
}
返回结果;这是我认为是错误的,正如你所看到的,我需要在 for 中返回该代码,如果我在 for 中返回它不起作用,它必须在 ajax 方法之外。
$('#example tbody').on('click', 'td.details-control', function () {
var tr = $(this).closest('tr');
var row = table.row( tr );
if ( row.child.isShown() ) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
row.child( format(row.data()) ).show();
tr.addClass('shown');
}
} );
由于它的异步特性,你不能让你的函数从
success
of 中返回一个值ajax
。你必须在success
.例如,您可以通过以下方式执行此操作:
在你的主代码中,你这样调用你的函数
format
: