2012-01-09 3 views
2

J'utilise la fonction .remove() depuis jQuery pour essayer de supprimer un formulaire d'un DIV sur une page que j'ai créée mais qui ne fonctionne pas. Y at-il quelque chose qui ne va pas avec mon code?Pourquoi ne puis-je pas supprimer ce formulaire?

J'ai utilisé une alerte pour voir si la ligne réelle est déclenchée et c'est définitivement le cas. Fondamentalement, j'ai un bouton de suppression sur une page, qui, je l'espère, va supprimer le dernier formulaire ajouté, mais il ne le fait pas. J'ai vu la fonction .last() mais je ne sais pas si je peux l'utiliser dans ce contexte?

HTML:

<input type="button" value="Delete Row" class="removePlacement button blue" /> 

<div id="placement"> 
<form id="placement-form" class="placement-form"> 
    <!-- items --> 
</form> 
<form id="placement-form1" class="placement-form"> 
    <!-- items --> 
</form> 
<form id="placement-form2" class="placement-form"> 
    <!-- items --> 
</form> 
<form id="placement-form3" class="placement-form"> 
    <!-- items --> 
</form> 
</div> 

jQuery:

$(function() { 
$('.removePlacement').click(function() { 
    $('#placement').remove('form').last(); 
    // alert('0'); 
    }); 
}); 

Répondre

9

Essayez:

$(function() { 
    $('.removePlacement').click(function() { 
     $('#placement').find("form:last").remove(); 
     // alert('0'); 
    }); 
}); 
+0

Brillant, cela a fonctionné, merci pour votre aide @ karim79 – zik

0
$('#placement').remove('form').last(); 

Ce que vous dites jQuery à faire ici est:

  1. Trouvez le conteneur placement.
  2. Supprimez tout élément de type form car vous avez spécifié uniquement un type (formulaire, pas un sélecteur spécifique pour une classe ou un élément particulier).
  3. Retourne en dernier sur les résultats de l'opération de suppression - qui n'aura rien à retourner.

L'explication de karim devrait le réparer. Cependant, j'espère que cela efface pourquoi votre code se comportait comme ça.

+0

Oui, c'est le cas. Merci mec. Juste se familiariser avec JQuery et penser, c'est un langage génial! – zik

+0

@Kiz jQuery n'est * pas * une langue. C'est une bibliothèque DOM. –

+0

Fair play. C'est vrai. JavaScript est la langue. D'oh! – zik

Questions connexes