Je suis en train d'itérer des lignes de table vérifiées et je veux supprimer la ligne actuelle si un certain argument est vrai mais ce que j'ai jusqu'à présent supprime le mauvais. Toute aide appréciée. C'est ce que j'ai.

$('input[type=checkbox]').each(function() { 
    if (this.checked == true) {
        var del_id = $(this).closest('tr').attr('data-id');

        $.each(del_arr, function(index, value ) {
            if (value == del_id) {
                $('#spreadsheetstable tr:last').remove();
                console.log('Removing :'+  del_id +' And ' + value);
            }
        });
    }
});
0
whoopididoo 22 juil. 2015 à 00:58

2 réponses

Meilleure réponse

Quelque chose comme ça:

    $('input[type=checkbox]:checked').each(function() {

    var $tr =  $(this).closest('tr');

    var del_id = $(this).closest('tr').attr('data-id');

    $.each(del_arr, function(index, value ) {

        if (value == del_id){
            $tr.remove();
            console.log('Removing :'+  del_id +' And ' + value);
            return false;
        }
    });
})
0
nril 21 juil. 2015 à 22:11

Si vous utilisez jQuery DataTables, il est préférable de supprimer la ligne à l'aide de la méthode API DataTables row (). remove () plutôt que de manipuler directement le DOM.

$('input[type=checkbox]:checked').each(function() {
   var $tr =  $(this).closest('tr');
   var del_id = $tr.attr('data-id');
   $.each(del_arr, function(index, value ) {
      if (value == del_id){
         $('#spreadsheetstable').DataTable().row($tr).remove().draw(false);

         console.log('Removing :'+  del_id +' And ' + value);
         return false;
      }
   });
});
0
Gyrocode.com 21 juil. 2015 à 22:39