Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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
Jquery DataTable在单击时获取隐藏列值_Jquery_Datatables - Fatal编程技术网

Jquery DataTable在单击时获取隐藏列值

Jquery DataTable在单击时获取隐藏列值,jquery,datatables,Jquery,Datatables,我有一个用Ajax创建的数据表。但是,我不希望显示所有字段,因此我在不太重要的字段上将bVisible设置为false $(document).ready(function() { $('#example').dataTable( { "bProcessing": true, "sAjaxSource": "../DataQueries/FetchAllSubjectsForBrowse.asp",

我有一个用Ajax创建的数据表。但是,我不希望显示所有字段,因此我在不太重要的字段上将bVisible设置为false

$(document).ready(function() {
            $('#example').dataTable( {
                "bProcessing": true,
                "sAjaxSource": "../DataQueries/FetchAllSubjectsForBrowse.asp",
                "aoColumns": [ 
                    /* Subject Name */ null,
                    /* Address */ null,
                    /* LinkedWithCompany */ { "bVisible": false},
                    /* Work Tel */ null
                ]
            } );
但是,我希望能够单击一行来检索所有值,包括隐藏的值。因此,我尝试了以下方法:

$('#example tbody tr').live('click', function () {
             var sTitle;
             var nTds = $('td', this);
             var sSubjectName = $(nTds[0]).text();
             var sSubjectAddress = $(nTds[1]).text();
             var sLinkedWithCompany = $(nTds[2]).text();
             var sWorkTel = $(nTds[3]).text();
});
然而,当我检索sLinkedWithCompany的值时,它反而给了我sWorkTel的值

对于如何检索这个隐藏的值,我有点困惑


谢谢

我推荐这样的东西:

var data = [];
$.ajax({url:"../DataQueries/FetchAllSubjectsForBrowse.asp",success:function(result){
  data=result;
}});
var i=0;
 data.forEach(function(d) {d.index=i++;});

$('#example').dataTable( {
            "bProcessing": true,
            "aaData":data, 
            "aoColumns": [ 
                /*index*/
                /* Subject Name */ null,
                /* Address */ null,
                /* LinkedWithCompany */ { "bVisible": false},
                /* Work Tel */ null
            ]
        } );
然后在单击处理程序中获取索引,然后访问原始数据数组中的记录

$('#example tbody tr').live('click', function () {
         var sTitle;
         var nTds = $('td', this);
         var index = $(nTds[0]).text();
         var record = data[i];
});

这只是一个起点,但我希望你能理解

我推荐这样的东西:

var data = [];
$.ajax({url:"../DataQueries/FetchAllSubjectsForBrowse.asp",success:function(result){
  data=result;
}});
var i=0;
 data.forEach(function(d) {d.index=i++;});

$('#example').dataTable( {
            "bProcessing": true,
            "aaData":data, 
            "aoColumns": [ 
                /*index*/
                /* Subject Name */ null,
                /* Address */ null,
                /* LinkedWithCompany */ { "bVisible": false},
                /* Work Tel */ null
            ]
        } );
然后在单击处理程序中获取索引,然后访问原始数据数组中的记录

$('#example tbody tr').live('click', function () {
         var sTitle;
         var nTds = $('td', this);
         var index = $(nTds[0]).text();
         var record = data[i];
});

这只是一个起点,但我希望你能理解

在Datatables v1.10.x上,我使用了以下方法:

列定义:

"columnDefs": [
    { "data": "yourColumnId", "targets": 0, "visible": false
]
然后在我的功能中

var rows = $("#tbl").dataTable().fnGetNodes();

for (var i = 0; i < rows.length; i++) {

  id = $("#tbl").dataTable().fnGetData(i).yourColumnId;

}

在Datatables v1.10.x上,我使用了以下方法:

列定义:

"columnDefs": [
    { "data": "yourColumnId", "targets": 0, "visible": false
]
然后在我的功能中

var rows = $("#tbl").dataTable().fnGetNodes();

for (var i = 0; i < rows.length; i++) {

  id = $("#tbl").dataTable().fnGetData(i).yourColumnId;

}

下面是一个通过单击获取行数据的示例

假设您对表格的每一行都有删除或任何按钮,如果单击该按钮,则获取所选行的数据并执行所需操作

$(document).ready(function(){
    $('#example tbody').on('click', '.delete', function(){
        var row = $(this).closest('tr');
        var data = $('#example').dataTable().fnGetData(row);
        console.log(data);
    }); 
});

下面是一个通过单击获取行数据的示例

假设您对表格的每一行都有删除或任何按钮,如果单击该按钮,则获取所选行的数据并执行所需操作

$(document).ready(function(){
    $('#example tbody').on('click', '.delete', function(){
        var row = $(this).closest('tr');
        var data = $('#example').dataTable().fnGetData(row);
        console.log(data);
    }); 
});

使用以下代码获取当前tr数据(同时返回隐藏列值):

它返回一个数组,您可以访问td值,如下所示:

$('#example-table-id').on('click', 'tbody tr', function(){
    var arr=$('#example-table-id').dataTable().fnGetData($(this)); 
    var Id=arr[0]; //returns first td value 
    var Name=arr[1];//returns second td value
}

使用以下代码获取当前tr数据(同时返回隐藏列值):

它返回一个数组,您可以访问td值,如下所示:

$('#example-table-id').on('click', 'tbody tr', function(){
    var arr=$('#example-table-id').dataTable().fnGetData($(this)); 
    var Id=arr[0]; //returns first td value 
    var Name=arr[1];//returns second td value
}

console.log(nTds)并发布相关的outputconsole.log(nTds)并发布相关的outputconsole.log(nTds)但我想得到特定的行值,在这段代码中我们正在迭代表,您能帮我获得特定的行值吗?但我想得到特定的行值,在这段代码中我们正在迭代表,您能帮我获取特定的行值吗?这对我来说很好,并且完全符合您描述的用例:在嵌入表行的按钮中处理单击事件。谢谢Muhammad。对我来说效果很好,而且正是在您描述的用例中:在嵌入表行的按钮中处理单击事件。谢谢你,穆罕默德。