【发布时间】:2015-11-26 02:03:56
【问题描述】:
谁能帮我找出下面代码的问题。
我正在尝试做的事情: 使用 jquery/datatables,我试图显示特定行的附加数据(使用 ajax 调用检索)。
数据表定义代码为:
$(window).load(function() {
var table = $('#table_id').DataTable({
//"font-size" : 2em,
"columnDefs" : [ {
className : "details-control",
"targets" : [1],
"orderable" : false },
{
"targets" : [2,6],
"width" : "25%",
className : "dt-left"},
{
"targets" : [3,4,5,7],
"width" : "10%",
className : "dt-center"}
]
});
// Add event listener for opening and closing details
$('#table_id').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(formatx(row.data())).show();
tr.addClass('shown');
}
});
});
formatx函数和回调函数分别是:
function printd(data) {
var pdata = '';
for(var i in data.careGivers){
pdata = pdata + '<tr>'+
'<td>Parent: </td>'+
'<td>'+data.careGivers[i].ParentName+'</td>'+
'</tr>';
}
pdata = '<table cellpadding="3" cellspacing="0" border="0" style="padding-left:50px;">'+pdata+
'</table>';
alert(pdata);
return pdata;
}
function formatx(d) {
var val = d[0];
$.ajax({
url : "<?php echo site_url('Sclass/get_wl_details_ajax/')?>/"+val,
dataType:'json',
success : printd
});
}
【问题讨论】:
-
formatx(row.data())返回 json,对吗? -
@DelightedD0D - 是的,这是正确的。已验证
-
可以显示格式吗?
-
example here 似乎表明
row.child().show()需要 html,仍在查看文档以查看是否接受 json -
printd函数返回一个html字符串,这是我期望show函数处理的。
标签: javascript jquery ajax datatable