在自定义映射函数中使用Jquery Datatables API

在自定义映射函数中使用Jquery Datatables API,datatables,Datatables,我希望使用Datatables自己的API函数从Datatables中获取数据,而不是使用常规的html表选择器。我也在使用编辑器版本(代码段中未显示),我在使用本地表编辑功能(我希望一次批处理并发送所有数据) 我尝试了下面的代码,它可以访问API数据,但我不能跳过单元格 var data = $('#PrtTbl').find('tr').map(function () { return PrtTbl.row(this).data()

我希望使用Datatables自己的API函数从Datatables中获取数据,而不是使用常规的html表选择器。我也在使用编辑器版本(代码段中未显示),我在使用本地表编辑功能(我希望一次批处理并发送所有数据)

我尝试了下面的代码,它可以访问API数据,但我不能跳过单元格

 var data = $('#PrtTbl').find('tr').map(function () {
                return PrtTbl.row(this).data() 
            }).get()
            console.log(JSON.stringify(data))
我想应用这将映射HTML表并允许我选择某些单元格,但问题是我不知道如何访问API存储的数据, 只有API函数才能访问存储数据和隐藏列

var tbl = $('#RegSrc tr:has(td)').map(function(i, v) {
var $td = $('td', this);
return {
  RecID: $td.eq(0).text(),
  PtFilenum: $td.eq(1).text(),
  Status: $td.eq(5).text()
} }).get();
我的目标是这样的

{
"data": {
    "2383": {
        "RecID": 2383,
        "PtFilenum": "15090248",
        "PrtFilenum": 13090701,
        "PrtStatus": ""
    },
    "3387": {
        "RecID": 3387,
        "PtFilenum": "15090248",
        "PrtFilenum": 15120996,
        "PrtStatus": ""
    },
    "3388": {
        "RecID": 3388,
        "PtFilenum": "15090248",
        "PrtFilenum": 170227111,
        "PrtStatus": ""
    }
}}
下面的代码片段显示了这两个代码的结果

var tablenest=$('#RegSrc').DataTable({
选择:true,
“bPaginate”:错误,
“bFilter”:错误,
回答:是的,
是的,
“处理”:对,
“服务器端”:false,
鲍托维兹:没错,
数据:[{
“RecID”:2383,
“PtFilenum”:15090248,
“PrtFilenum”:13090701,
“全名”:“萨登”,
“PrtStatus”:1
}, {
“RecID”:2384,
“PtFilenum”:15090248,
“PrtFilenum”:15120996,
“全名”:“marwam mohmmad saleem”,
“PrtStatus”:1
}, {
“RecID”:2385,
“PtFilenum”:15090248,
“PrtFilenum”:170227111,
“全名”:“asd dsf a”,
“PrtStatus”:1
}],
订单:[2,‘asc'],
关键点:{
列:“:非(:第一个子项)”,
钥匙:[9]
},
列:[{//复选框选择列
数据:空,
defaultContent:“”,
className:“选中复选框”,
可订购:错误,
“宽度”:“1%”
},
{
“宽度”:“50%”,
数据:“RecID”,
“可见”:错误
},
{
“宽度”:“50%”,
数据:“PtFilenum”,
“可见”:错误
},
{
“宽度”:“10%”,
数据:“PrtFilenum”
},
{
“宽度”:“40%”,
数据:“全名”
},
{
“宽度”:“10%”,
数据:“PrtStatus”,
呈现:函数(数据、类型、行){
如果(类型==‘显示’){
如果(数据==1){
返回“合作伙伴”;
}否则{
返回“非合作伙伴”;
}
}
返回数据;
},
类名:“dt车身中心”
},
],
});
$(“#btn1”)。单击(函数(){
var tbl=$('#RegSrc tr:has(td)').map(函数(i,v){
var$td=$('td',this);
返回{
RecID:$td.eq(0.text(),
PtFilenum:$td.eq(1).text(),
状态:$td.eq(5).text()
}
}).get();
log(JSON.stringify(tbl))
返回false;
})
$(“#btn2”)。单击(函数(){
var data=$('#RegSrc').find('tr').map(函数(){
返回tablenest.row(this.data())
}).get()
log(JSON.stringify(数据))
返回false;
})
$(“#btn3”)。单击(函数(){
var tbl=$('#RegSrc tr:has(td)').map(函数(i,v){
返回{
RecID:tablenest.cell(this,1.data(),
PtFilenum:tablenest.cell(this,2.data(),
PrtFilenum:tablenest.cell(this,3.data(),
PrtStatus:tablenest.cell(this,5.data)()
}
}).get();
log(JSON.stringify(tbl))
返回false;
})

代码1
代码2
代码3
累西德
病人档案号
合作伙伴文件号
患者姓名
地位

所以我从

我发布了两个代码, 其中一个是“Code1”,用于表,但不循环页面中的记录,而Code2循环所有页面(纯Datatables API利用率)

var tablenest=$('#RegSrc').DataTable({
选择:true,
“bPaginate”:错误,
“bFilter”:错误,
回答:是的,
是的,
“处理”:对,
“服务器端”:false,
鲍托维兹:没错,
数据:[{
“RecID”:2383,
“PtFilenum”:15090248,
“PrtFilenum”:13090701,
“全名”:“萨登”,
“PrtStatus”:1
}, {
“RecID”:2384,
“PtFilenum”:15090248,
“PrtFilenum”:15120996,
“全名”:“marwam mohmmad saleem”,
“PrtStatus”:1
}, {
“RecID”:2385,
“PtFilenum”:15090248,
“PrtFilenum”:170227111,
“全名”:“asd dsf a”,
“PrtStatus”:1
}],
订单:[2,‘asc'],
关键点:{
列:“:非(:第一个子项)”,
钥匙:[9]
},
列:[{//复选框选择列
数据:空,
defaultContent:“”,
className:“选中复选框”,
可订购:错误,
“宽度”:“1%”
},
{
“宽度”:“50%”,
数据:“RecID”,
“可见”:错误
},
{
“宽度”:“50%”,
数据:“PtFilenum”,
“可见”:错误
},
{
“宽度”:“10%”,
数据:“PrtFilenum”
},
{
“宽度”:“40%”,
数据:“全名”
},
{
“宽度”:“10%”,
数据:“PrtStatus”,
呈现:函数(数据、类型、行){
如果(类型==‘显示’){
如果(数据==1){
返回“合作伙伴”;
}否则{
返回“非合作伙伴”;
}
}
返回数据;
},
类名:“dt车身中心”
},
],
});
$(“#btn1”)。单击(函数(){
var tbl=$('#RegSrc tr:has(td)').map(函数(i,v){
var myObject=新对象();
var Data=tablenest.cell(this,1.Data())
myObject[数据]={
RecID:tablenest.cell(this,1.data(),
状态:tablenest.cell(this,5.data(),
}
返回对象
}).get();
var dt={}
dt.data=tbl
log(JSON.stringify(dt))
返回false;
})
$(“#btn2”)。单击(函数(){
var tbldta=$.map(tablenest.rows().data(),函数(d,i){
var myObject=新对象();
var数据=d.RecID
myObject[数据]={
RecID:d.RecID,
PrtStatus:d.PrtStatus
}
返回对象
});
var DtaObj={}
DtaObj.data=tbldta
log(JSON.stringify(DtaObj))
返回false;
})

代码1
代码2
累西德
病人档案号
合作伙伴文件号
患者姓名
地位