我使用Datatables Jquery插件做了一些工作,但我还没能理解如何处理从服务器获取的Json响应。 我收到了这个回复:
"aaData":[
[
{
"idTreatment":23,
"treatment":"Hospitalización",
"directions":"Directions",
"active":"1"
},
{
"idCIE10":1,
"cieCode":"A00",
"diagnostic":"COLERA",
"description":null,
"lastUsed":1386649580000,
"active":1
}
],
[
{
"idTreatment":27,
"treatment":"Antibiótico",
"directions":null,
"active":"1"
},
{
"idCIE10":1,
"cieCode":"A00",
"diagnostic":"COLERA",
"description":null,
"lastUsed":1386649580000,
"active":1
}
],
[
{
"idTreatment":33,
"treatment":"Hidratación Oral",
"directions":"Directions",
"active":"1"
},
{
"idCIE10":1,
"cieCode":"A00",
"diagnostic":"COLERA",
"description":null,
"lastUsed":1386649580000,
"active":1
}
]
]
}
我一直在尝试使用mData或mRender,但是我还没有熟悉数据表,所以如果有人能帮我,怎么能在html的表格中打印出来我真的很感激
提前致谢
这个javascript fucntion是我用来初始化表的那个,我试图使用基于例子的aoColumns但我不确定这是否是最好的选择;也基于示例我使用mData,只显示2列进行测试,因为你可以看到我试图使用对象字段名称访问“数组”或json响应,但是当页面呈现时会发出警告,说明它找不到这个领域。
function initializeTreatmentsTable(id){
treatmentsTable = $('#treatmentsTable').dataTable( {
"bSort":false,
"sAjaxSource":"./diagnosticTreatment",
"fnServerParams": function ( aoData ) { aoData.push( {name:"diagnosticId",value:id} ); },
"aoColumns": [
{ "mData": "idTreatment" },
{ "mData": "treatment" }
]
});
答案 0 :(得分:0)
在官方网站datatables.net上多次查看API后,我得出结论,我必须测试一下。 如果我的问题不明确,我会再解释一下。
我有一个表,该表的数据是通过ajax请求和json响应获得的,json响应是一个对象数组,但对象本身至少由两个对象组成({[[object1] [object2] ]],[[object1] [object2]]})所以用mData访问它们至少对我来说是不可能的,而且解决方案非常简单,我想我从未尝试过,我只需要使用mRender和函数。
function initializeTreatmentsTable(id){
treatmentsTable = $('#treatmentsTable').dataTable( {
"bSort":false,
"sAjaxSource":"./diagnosticTreatment",
"fnServerParams": function ( aoData ) { aoData.push( {name:"diagnosticId",value:id} ); },
"aoColumns": [
{ "bVisible": false,
"mRender": function(data,type,full){
return data.idTreatment;}
},
{ "mRender": function(data,type,full){
return full[0].treatment;
} }
]
});
上面的函数首次使用初始化表,我得到的问题是我只需要第一个对象的2个字段而第二个没有,但我现在不知道怎么做,所以我使用了包含整个json响应的“full”参数,并加入了它。
这可能不是最好的答案,但它为我做了工作,所以我希望如果有人知道如何改进它,随意做,或者只是评论,我也希望这可以帮助别人