Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript datatable选定行和列的数据_Javascript_Jquery_Datatable_Datatables - Fatal编程技术网

Javascript datatable选定行和列的数据

Javascript datatable选定行和列的数据,javascript,jquery,datatable,datatables,Javascript,Jquery,Datatable,Datatables,我试图获取数据表的特定列,该列由所选行的名称引用,但它选择了特定列的行或所有数据,而不是所选行的特定列值: var columnValue1 = getTable().column('ALEN:name').rows( { selected: true } ).data(); var columnValue2 = getTable().rows( { selected: true } ).column('ALEN:name').data(); 输出: Columnvalue1:输出完

我试图获取数据表的特定列,该列由所选行的名称引用,但它选择了特定列的行或所有数据,而不是所选行的特定列值:

 var columnValue1 = getTable().column('ALEN:name').rows( { selected: true } ).data();
    var columnValue2 = getTable().rows( { selected: true } ).column('ALEN:name').data();
输出:

Columnvalue1:输出完整的选定行,而不仅仅是选定行的列'ALen'
Columnvalue2:输出列“Alen”的所有行的数据,不仅是注释中所述的选定行,这取决于DataTable初始化ajax或预充电数据,如果您有单个或多个选择

多重选择示例:

如果您有带ajax的datatable,则可以直接访问字段:

如果您没有ajax,并且您已经预充电了数据:


我创建了一个函数,该函数对名称进行索引,然后确定他在所选行中的位置。例如,我想返回名为Alen的所选行的值:

var columnValue2 = getTable().rows( { selected: true } ).data()[0][tab.getColumnIndex("Alen")];
这是我的职责:

this.getColumnIndex = function(ColumnName){
        var index;
        //dataTableOption : function to declare option of datatable like columns-searching 
        for (let i=0;i<this.dataTableOption.columns.length; i++ ){
            
            if ( this.dataTableOption.columns[i].name == ColumnName){
                
                 index =i;
        }
        }
        return index ;
    }

添加代码段或JSFIDDLE这取决于datatable的初始化。。。您可以发布datatable初始化吗?以下是我如何将列声明到datatable中的,但这是静态示例,因为我使用生成datatable的globale js文件,并从另一个函数的回调中获取所有数据和列:$document.readyfunction{$'example'。datatable{columns:[{name:Alen title:'Alen',visible:true},{name:Brandtitle:'Brand',visible:true},]};};我想在预充电的数据中使用fieldname,而不是列[15]的数量,使用链接到列的名称或数据[name]来更改它在datatables的情况下可能吗?我尝试为每个列添加名称:[{name:Alen title:'Alen',visible:true}]当我进行单个选择时,是否有任何可能的方法从该名称索引数据值?我在这段时间之前尝试过,但我知道的唯一方法是使用ajax。如果你发现了什么,请告诉我!!!尝试这个解决方案也许对你有帮助,它对我有用
var fieldValue = getTable().row({ selected: true }).data().FieldName
var fieldValue= getTable().row({ selected: true }).data()[15]
var columnValue2 = getTable().rows( { selected: true } ).data()[0][tab.getColumnIndex("Alen")];
this.getColumnIndex = function(ColumnName){
        var index;
        //dataTableOption : function to declare option of datatable like columns-searching 
        for (let i=0;i<this.dataTableOption.columns.length; i++ ){
            
            if ( this.dataTableOption.columns[i].name == ColumnName){
                
                 index =i;
        }
        }
        return index ;
    }