1

好的,伙计们,这是我的情况,我有一个空表,用户将在其中填充 DataTable 中的行,此 DT 在 Dialog 内,并且可以根据过滤器随时重建此 DT。数据表中的每一行都有一个复选框,其中指示他将选择哪一行来填充另一个表,当他点击“添加”按钮时,它会正常添加(包括隐藏行),并且该复选框将被禁用。我的问题是,当我从另一个表中删除播放器时,我需要分别从复选框中禁用 removeAttr ,但是它不起作用。另外,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();
        });
    }
}
4

0 回答 0