IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Supprimer un élément ajouté grâce à .after()


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Par défaut Supprimer un élément ajouté grâce à .after()
    Bonjours / Bonsoir à tous !
    Alors voilà je vous explique mon petit problème qui dure depuis 2 jours et je ne cesse de m'arracher les cheveux et ne peut trouver de solutions mise appart je l'éspère ici !
    J'ai donc un tablau comme suit :

    Nom : Sans titre.png
Affichages : 246
Taille : 11,0 Ko

    Lorsque je clique sur le bouton "+" cela m'ajoute bien une nouvelle ligne sur mon tableau grâce à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $('.plusTd1').on('click',function() {
            $('#sformadd').after('<tr><td><input type="text" name="nom[]" size="15" id="text0" value="" class="remplit" maxlength="20"><br></td> <td><input type="text" name="id[]" size="15" id="text1"  value="" class="remplit" maxlength="20"> </td> <td><input type="text"  size="15" name="type[]" id="text2" value="" class="remplit" maxlength="20"><br></td> <td><input type="text" name="table[]" size="15" id="text3" value="" class="remplit" maxlength="20"> </td><td class="controlTd2"> <div class="settingsIcons"></div>  </td> </tr> ');
    Or je veut lorsque je clique sur la petite croix rouge, pouvoir supprimer ce que je vient d'ajouter grâce a ".after()" autrement dit, supprimer toute la ligne du tableau et par conséquent faire remonter les autres ( Celle qui serait en dessous ) logique.

    Voici le petit bout de code entier et un éxemple adapté ne serait pas sans refus ! :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    jQuery(document).ready(function(){
    $('.plusTd1').on('click',function() {
            $('#sformadd').after('<tr><td><input type="text" name="nom[]" size="15" id="text0" value="" class="remplit" maxlength="20"><br></td> <td><input type="text" name="id[]" size="15" id="text1"  value="" class="remplit" maxlength="20"> </td> <td><input type="text"  size="15" name="type[]" id="text2" value="" class="remplit" maxlength="20"><br></td> <td><input type="text" name="table[]" size="15" id="text3" value="" class="remplit" maxlength="20"> </td><td class="controlTd2"> <div class="settingsIcons"></div>  </td> </tr> ');
    });
    });
    jQuery(document).ready(function(){
    $('.controlTd2').on('click',function() {
            $('#sformadd').detach('<tr><td><input type="text" name="nom[]" size="15" id="text0" value="" class="remplit" maxlength="20"><br></td> <td><input type="text" name="id[]" size="15" id="text1"  value="" class="remplit" maxlength="20"> </td> <td><input type="text"  size="15" name="type[]" id="text2" value="" class="remplit" maxlength="20"><br></td> <td><input type="text" name="table[]" size="15" id="text3" value="" class="remplit" maxlength="20"> </td><td class="controlTd2"> <div class="settingsIcons"></div>  </td> </tr> ');
    });
    });
    NB : J'ai essayais pas mal de choses : .remove(LE TEXTE HTML QUI EST DANS .AFTER()) ; .hide(IDEM) ; .empty(..) ; .detach (..)
    J'en conclut que le problème ne vient pas de là ?

    Merci beaucoup à tous !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    le parent du td est justement le tr à supprimer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	$('.controlTd2').on('click',function() {
            	$(this).parent().remove();
    	});

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Par défaut
    Ouw c'est parfait ça marche niquel, juste une petite explication sur le .parent() dans ce cas là ?
    Merci beaucoup !

  4. #4
    Membre confirmé Avatar de Chen norris
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 216
    Par défaut
    Citation Envoyé par dayou05 Voir le message
    juste une petite explication sur le .parent() dans ce cas là ?
    $('.controlTd2') désigne la cellule TD qui contient ta croix, ajouter un .parent() permet de remonter à l'élément DOM parent (en l'occurence le TR qui contient le TD sur lequel tu viens de cliquer). Remove retire tout le TR (donc toute la ligne).

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 58
    Par défaut
    Et bien merci beaucoup à vous tous, j'ai compris c'est le principal !
    Sujet résolu.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    A noter que selon moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).parent('tr').remove();
    serait plus approprié Si le code évolue, par exemple s'il décide d'utiliser une image ou un bouton, ça fonctionnera toujours
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer dernier élément ajouté dans une liste
    Par gégé140488 dans le forum C#
    Réponses: 2
    Dernier message: 08/10/2011, 18h35
  2. [JSP] Ajouter/supprimer un élément
    Par glasgow dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 22/06/2009, 16h36
  3. Ajouter un élément html grâce au CSS
    Par _jey_ dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 14/04/2009, 17h43
  4. Ajouter / supprimer plusieurs éléments dans un formulaire
    Par nesswaw dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/03/2008, 10h52
  5. [AJAX] Ajouter / Supprimer des éléments de la page
    Par bilou95 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/10/2007, 22h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo