jquery数据表从选定的行中获取数据

时间:2015-11-03 08:47:16

标签: javascript jquery datatables

我有一个jquery数据表,并且有一个复选框,用于将行选择的类设置为所选的行。但是,当我尝试从这些选定的行中获取第一列数据时,它会为我提供对象。

我无法解决问题激发在数据表和堆栈溢出论坛上的主题上发表的一些帖子。

下面提供了代码。

此致 阿琼

HTML:

<table id="mytable" class="table table-striped table-bordered" cellspacing="0" width="100%">

    <thead>
            <tr>
                <th><input type="checkbox" name= "check_all" id="check_all"/></th>
                <th>Request ID</th>
                <th>Request Date</th>
                <th>Leave Type</th>
                <th>Start Date</th>
                <th>End Date</th>
                <th>Status</th>
            </tr>
        </thead>
    </table>

Javscript

$("#check_all").click(function () {
    $(".checkBoxClass").prop('checked', $(this).prop('checked'));
});

$(".checkBoxClass").change(function(){
    if (!$(this).prop("checked")){
        $("check_all").prop("checked",false);
        $(this).closest('tr').removeClass('row_selected');
    }
        $(this).closest('tr').addClass('row_selected');
});

function sendval(){
    var apprReq = [];
    var rejReq = [];

    var otable = $('#mytable').DataTable();
    var aTrs = otable.rows();

    for ( var i=0 ; i<aTrs.length ; i++ )                                       
    {
        if ( $(aTrs[i]).hasClass('row_selected') )
        {
            apprReq.push( aTrs.rows().data[i] );
        }
            rejReq.push( aTrs[i] );
    }
    console.log(apprReq);
    console.log(rejReq);

}

2 个答案:

答案 0 :(得分:2)

来自datables doc,您可以这样做:

var table = $('#mytable').DataTable();
var rows_selected = table.rows('.row_selected').data();
$.each(rows_selected,function(i,v){
    apprReq.push(v);
});

答案 1 :(得分:0)

在不使用“row_selected”类

的情况下获取数据

https://stackoverflow.com/a/45694629/3514293