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 :

Suppression champs avec jquery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Par défaut Suppression champs avec jquery
    bonjour jai un bouton qui ajoute un champs input et je veux supprimer un champs l'ajout marche mais cest la suppression qui pose probléme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
      $(document).ready(function() {
     
    	//var nb = $("#champ input").length;
     
    	$("input#autocomplete0").autocomplete({
    		source: availableTags
    	});
    var nb = 0;
    	$("#button").click(function(){
    		//alert(nb);
    		nb++;
    		var last = parseInt($("#champ input:last").attr("class")) + 1; //numéro de la classe du input qui va suivre;
     
    		$("#champ").append("<div class=\""+last+"\"><tr><td>Tapez le motif :<input id=\"autocomplete"+last+"\" class=\""+last+"\" name=\"motif["+last+"]\"  size = \"75\"/></td><input type=\"button\" class=\"loginButton\"name=\"button"+last+"\" id=\"button"+last+"\" value=\"Supprimer\" /></tr></div>"); // ajout du champ input qui va suivre
     
    		$("input#autocomplete"+last).autocomplete({
    			source: availableTags
    		});
    	});
     
     for(i=1;i<=nb;i++){
    	$("#button"+i).click(function(){
    		alert(nb);
    		 //numéro de la classe du input qui va suivre;
    		//if(last > 0){
     
    		$("."+i+"").remove(); // sup du champ input qui va suivre
     
     
    	});
     }
     
      });

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Salut,

    Vérifie ton html, il est probable que l'élément ayant class="valeur de i" ne soit pas celui que tu penses (ou n'existe pas)...


    devyan

    Edit: étant donné que tu veux supprimer le conteneur du bouton sur lequel tu as cliqué cela serait peut-être plus simple de demander l'élément spécifique :
    $(this).closest("tbody").remove();

    Oui j'ai mis "tbody" parce que "div" ne devrait pas être présent comme conteneur de "tr" si tu veux que ton html soit valide.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Par défaut
    Sur mon html j'ai que le 1er champs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="champ" class="0">Tapez le motif :<input id="autocomplete0" name="motif[0]"  size="75" /></div>
    mais quand j'ajoute une ligne ça ajoute et quand je vais affichage code source j'ai que ce 1er champs qui s'affiche

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("."+i+":eq(0)").remove();
    mais c'est surtout que tes boutons sont ajoutés dynamiquement
    et donc n'existent pas au moment du ready
    il faut dont passer par live() (deprecié) au profit de on() ou de delegate
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Par défaut
    au fait quand je le met en dehor du <tr> en ajoutant il m'affiche le nouveau champs autre part

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("[id^='button']").on('click',function(){
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Par défaut
    j'ai remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("."+i+":eq(0)").remove();
    mais ça ne marche pas

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    on() ou delegate()

    ou alors attribue le click du bouton après l'avoir inséré dynamquement
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/06/2011, 12h28
  2. [AJAX] champs requis avec jquery
    Par mademoizel dans le forum AJAX
    Réponses: 1
    Dernier message: 17/01/2011, 11h01
  3. validation champ saisie avec jquery
    Par Miss kouka dans le forum Langage
    Réponses: 2
    Dernier message: 26/05/2010, 16h26
  4. Effectuer suppression champs dans BDD Access SQL avec VB
    Par Pilouze dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/06/2008, 00h56
  5. controle d'un champ e_mail avec Jquery
    Par ranell dans le forum jQuery
    Réponses: 3
    Dernier message: 23/05/2008, 09h57

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