如何使用jQuery DataTables捕获所选行中的数据

|| 我有此数据表设置:
$(document).ready(function() {
    $(\'#RectifiedCount\').dataTable( {
        \"bJQueryUI\": true,
        \"bProcessing\": true,
        \"aLengthMenu\": [[10, 25, 50, -1], [10, 25, 50, \"All\"]],
        \"bStateSave\": true,
        \"sDom\": \'<\"H\"if>tr<\"F\"lTp>\',
        \"aoColumns\":[
                     {\'sname\':\'count_id\', \'sType\':\'numeric\', \'bVisible\':false},
                     {\'sName\':\'count_type\', \'sType\':\'string\',\'bVisible\':true},
                     {\'sName\':\'count_date\', \'sType\':\'date\',\'bVisible\':true},
                     {\'sName\':\'count_count\', \'sType\':\'numeric\',\'bVisible\':true},
                     {\'sName\':\'count_notes\', \'sType\':\'string\',\'bVisible\':true}
                     ],
        \"oTableTools\": {
            \"sRowSelect\": \"single\",
            \"sSwfPath\": \"media/swf/copy_cvs_xls_pdf.swf\",
            \"aButtons\": [ {sExtends :\'select_none\' , \'sButtonText\':\'Clear Selection\'}],
            \"fnRowSelected\": function(node){
                var s=$(node).children();
                if($(s[0]).text()==\'Delivery\') return ;
                $(\'select[name=\"count_type\"]\').val($(s[0]).text());
                $(\'input[name=\"count_date\"]\').val($(s[1]).text());
                $(\'input[name=\"count_count\"]\').val($(s[2]).text());
                $(\'textarea[name=\"count_notes\"]\').val($(s[3]).text());
            }
        },
        \'sScrollX\':\'100%\'
    });
});
选择一行时,我想将该行的单元格的值复制到一些与\'sName \'属性命名相同的表单字段中。我有两个问题: 是否有TableTools方法用于访问选定行中单元格的值?像
node[\'sName_whatever\'].value
这样的东西会很好。 如何获得bVisible = false的单元格的值? ETA解决方案 (省去不重要的东西)
$(document).ready(function() {
    rctable=$(\'#RectifiedCount\').dataTable( {
        \"aoColumns\":[
                     {\'sname\':\'count_id\', \'sType\':\'numeric\', \'bVisible\':false},
                     {\'sName\':\'count_type\', \'sType\':\'string\',\'bVisible\':true},
                     {\'sName\':\'count_date\', \'sType\':\'date\',\'bVisible\':true},
                     {\'sName\':\'count_count\', \'sType\':\'numeric\',\'bVisible\':true},
                     {\'sName\':\'count_notes\', \'sType\':\'string\',\'bVisible\':true}
                     ],
        \"oTableTools\": {
            \"sRowSelect\": \"single\",
            \"fnRowSelected\": function(node){
                aData = rctable.fnGetData(node); //nice array of cell values
                if(aData[0]==\'Delivery\') return ;
                $(\'select[name=\"count_type\"]\').val(aData[0]);
                $(\'input[name=\"count_date\"]\').val(aData[1]);
                $(\'input[name=\"count_count\"]\').val(aData[2]);
                $(\'textarea[name=\"count_notes\"]\').val(aData[3]);            }
        }
    });
});
    
已邀请:
我做了以下事情:
 oTable = $(\'#RectifiedCount\').dataTable( ....);

 $(\'#RectifiedCount tbody tr\').live(\'click\', function (event) {        
    var aData = oTable.fnGetData(this); // get datarow
    if (null != aData)  // null if we clicked on title row
    {
        //now aData[0] - 1st column(count_id), aData[1] -2nd, etc. 
    }
});
    
仅使用jquery和TableTools而不是挂钩click事件的更好的方法:
\"oTableTools\": {
\"sRowSelect\": \"single\",
\"fnRowSelected\": function(node) {
    var row = $(node).find(\'td\');
    //all cells
    $.each(row, function(index, td) {
        console.log($(td).text());
    });

    console.log(\"Specific cell content: \" + $(row[2]).text());

}
}     

要回复问题请先登录注册