好的,伙计们,这是我的情况,我有一个空表,用户将在其中填充 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();
});
}
}