Javascript Datatables-导出字段输入内外的值和选择字段的值

Javascript Datatables-导出字段输入内外的值和选择字段的值,javascript,jquery,html,css,datatables,Javascript,Jquery,Html,Css,Datatables,让我们看看谁能帮我解决这个问题 我有几个带有JS datatables插件的表() 我的问题是以PDF和Excel格式导出数据 我无法将输入或选择字段中的值导出为PDF或Excel(仅所选值) 我有几个表,其中有作为输入的列、另一列选择和另一列简单文本。我想知道如何将所有这些值导出到Excel或PDF,如果您可以使用此插件的话。到目前为止,我还没有得到它 下面是我构建datatable的代码摘录: var tabla_table = $('#table').DataTable({ do

让我们看看谁能帮我解决这个问题

我有几个带有JS datatables插件的表()

我的问题是以PDF和Excel格式导出数据

我无法将输入或选择字段中的值导出为PDF或Excel(仅所选值)

我有几个表,其中有作为输入的列、另一列选择和另一列简单文本。我想知道如何将所有这些值导出到Excel或PDF,如果您可以使用此插件的话。到目前为止,我还没有得到它

下面是我构建datatable的代码摘录:

var tabla_table = $('#table').DataTable({
    dom: 'Blfrtip',
    buttons: [{
            extend: 'collection',
            text: "<i class='fa fa-cog'></i>",
            buttons: [
              {
                  extend: 'pdfHtml5',
                  orientation: 'landscape',
                  customize: function ( doc ) {
                    doc.defaultStyle.fontSize = 10;  
                  },
                  exportOptions: {
                    columns: ':visible',
                    columns: ':not(.no-print)',
                  /*  format: {
                    body: function ( data, row, column, node, sValue, nTr, type ) {
                      //
                      //check if type is input using jquery
                    //  console.log('data val: ' + $(data).val() );
                      console.log('data: ' + data );
                      console.log('row: ' + row );
                      console.log('nTr: ' + nTr );
                      console.log('node: ' + node );
                      console.log('type: ' + type );
                      /*if( $(data).is("input") ){
                        return data;     
                      }else{
                        return $(data).val();  

                      }

                      }
                    }*/
                    //columns: [4, 8, 9, 10, 11, 12, 13, 14]
                  }
              },{
                  extend: 'excel',
                  orientation: 'landscape',
                  exportOptions: {
                    columns: ':visible',
                    columns: ':not(.no-print)',
                    format: {
                    body: function ( data, row, column, node ) {
                      //
                      //check if type is input using jquery
                      //console.log('PRUEBA: ' + $(data).val() );
                      if( $(data).is("input") ){
                        return data;     
                      }else{
                        return $(data).val();  

                      }

                      }
                    }
                    //columns: [4, 8, 9, 10, 11, 12, 13, 14]
                  }
                },{
                  text: 'Imprimir',
                  extend: 'print',
                  orientation: 'landscape',

                  exportOptions: {
                    columns: ':visible',
                    columns: ':not(.no-print)'
                  }
                },
               /* 'colvis'*/

            ]
        }

    ],.....
var tabla_table=$('#table').DataTable({
dom:'Blfrtip',
按钮:[{
扩展:'集合',
正文:“,
按钮:[
{
扩展:“pdfHtml5”,
定位:'景观',
自定义:功能(文档){
doc.defaultStyle.fontSize=10;
},
出口选择:{
列:':可见',
列:':not(.no print)',
/*格式:{
正文:函数(数据、行、列、节点、SVValue、nTr、类型){
//
//检查是否使用jquery输入类型
//log('dataval:'+$(data.val());
console.log('数据:'+数据);
console.log('行:'+行);
console.log('nTr:'+nTr);
log('node:'+node);
console.log('type:'+type);
/*如果($(数据).is(“输入”)){
返回数据;
}否则{
返回$(data).val();
}
}
}*/
//列:[4,8,9,10,11,12,13,14]
}
},{
扩展:“excel”,
定位:'景观',
出口选择:{
列:':可见',
列:':not(.no print)',
格式:{
正文:函数(数据、行、列、节点){
//
//检查是否使用jquery输入类型
//log('PRUEBA:'+$(data.val());
如果($(数据).is(“输入”)){
返回数据;
}否则{
返回$(data).val();
}
}
}
//列:[4,8,9,10,11,12,13,14]
}
},{
文本:'Imprimir',
扩展:“打印”,
定位:'景观',
出口选择:{
列:':可见',
列:':not(.no print)'
}
},
/*“科尔维斯”*/
]
}
],.....
以PDF格式输出:

如果这个问题能够解决,我希望我能提供足够的信息来解决。如果需要更多信息,请毫不犹豫地告诉我

非常感谢您

好的,请按您的按钮

                        exportOptions: {
                        orthogonal: 'export',
                    }
在您的专栏中:

            render: function (data, type, row) {
            return type === 'export' ? row.Descripcion: "";
        }
好的,按你的按钮

                        exportOptions: {
                        orthogonal: 'export',
                    }
在您的专栏中:

            render: function (data, type, row) {
            return type === 'export' ? row.Descripcion: "";
        }

我最近一直在努力解决这个问题,终于找到了解决方案。我会尽量让它更详细一点

下面是一个函数,用于检查导出的节点是否为节点。在这种情况下,它返回input.value-否则仅返回数据:

//function for DataTable data export to export <input>.value
var buttonCommon = {
    exportOptions: {
        format: {
            body: function ( data, row, column, node ) {
                //check if type is input using jquery
                return node.firstChild.tagName === "INPUT" ?
                        node.firstElementChild.value :
                        data;

            }
        }
    }
};

我最近一直在努力解决这个问题,终于找到了解决方案。我会尽量让它更详细一点

下面是一个函数,用于检查导出的节点是否为节点。在这种情况下,它返回input.value-否则仅返回数据:

//function for DataTable data export to export <input>.value
var buttonCommon = {
    exportOptions: {
        format: {
            body: function ( data, row, column, node ) {
                //check if type is input using jquery
                return node.firstChild.tagName === "INPUT" ?
                        node.firstElementChild.value :
                        data;

            }
        }
    }
};

你能澄清解决方案及其影响吗?它改变了什么?为什么?参考:&你能澄清解决方案及其影响吗?它改变了什么?为什么?参考:&