jQuery Datatable fnGetnodes没有选择隐藏的行

时间:2012-08-24 13:12:28

标签: jquery jquery-datatables

好的,这是我的情况,我有一个空表,用户将在其中填充DataTable中的行,此DT位于Dialog中,并且可以根据过滤器随时重建此DT。 数据表中的每一行都有一个复选框,指示他将选择哪一行来填充另一个表,当他点击“添加”按钮时,它会正常添加(包括隐藏的行),并且复选框将被禁用。 我的问题是,当我从另一个表中删除播放器时,我需要分别从复选框中删除禁用的禁止,但是,它不起作用。 此外,DT中的每个tr都有一个名为“jogador ##”的类,其中##是一个id,所以当我删除播放器时,我只能选择tr,找到它的复选框并再次启用。

这些函数仅适用于可见行,隐藏行不会发生任何事情。

以下是我使用的功能:

function addPlayer(){
    $('input:checkbox:checked', oTable.fnGetNodes()).each(function(){
        tr = $(this).parent().parent().clone();
        tr.removeClass('odd');
        tr.removeClass('even');
        tr.find('.hide').removeClass('hide');
        tr.find('.removable').remove();
        c = $('#camisa').val();
        cid = $('#categoria').val();
        tr.find('#camisa_').val(c);
        $('#c'+c+'_categoria'+cid).find('table tbody').append(tr);
        $(this).attr('disabled', 'disabled');
    });
    reactiveSortable();
    sortPlayers();
    $('.dialog-players').dialog('close');
}
function removePlayer(el, id){
    if(confirm("Deseja realmente excluir este jogador?")){
        $(el).parent().parent().fadeOut(300, function(){
            $(this).remove();
            $('tr.jogador'+id, oTable.fnGetNodes()).find(':checkbox').removeAttr('disabled');
            reactiveSortable();
            sortPlayers();
        });
    }
}

0 个答案:

没有答案