J'essaie de sélectionner une TR à l'intérieur d'une table pour la supprimer mais je n'ai aucune chance avec les sélecteurs.
Table ressemble à ceci: p>
function deleteProduct(id) { $('#product_' + id).remove(); }
5 Réponses :
Si vous utilisez littéralement Vous pouvez également sauter quelques niveaux dans l'arborescence Dom (supprimer le parent du parent) au lieu de mettre manuellement des identifiants. Je crois que vous pouvez mettre SupprimerProduct (ID) code> Vous allez avoir besoin de remplacer ID avec le numéro de cette ligne. P>
onclick = "$ (ceci) .parent (). Parent (). Supprimer ()" code> à la place. P>
Votre démo 1 strong> em> p> Comme indiqué dans les commentaires, vous avez a également reçu un peu de balise non valide dans votre qui dit, vous utilisez jQuery donc il n'y a pas d'excuse pour ne pas écrire JavaScript discret . Débarrassez-vous du Si vous souhaitez obtenir plus précis avec les sélecteurs, Cela fonctionnera avec le balisage actuel: p> Demo 3 strong> em> p> p>
Vous n'avez pas besoin d'avoir en ligne onclics et que vous n'avez pas besoin de fonction pour cela. Tout ce que vous avez à faire est, c'est que Call Vous pouvez également insérer un bouton Supprimer et sélectionner pour supprimer le bouton en cliquant. P> Vérifiez l'exemple mis à jour sur http://jsfiddle.net/aswae/4/ p> p>
Le seul problème avec ceci est que cliquer n'importe où sur la ligne le supprimera, ce qui ne semble pas être l'action souhaitée. Changez votre lien [x] à quelque chose comme: et votre jQuery à: p> Je le ferais comme ça et la jQuery: p> Une autre alternative à ce sélecteur serait p>
Le
Til le plus proche () existe. Joli. Tant que nous sommes conscients que cela (sans modification) nécessitera que tout lien dans la table sert de lien Supprimer.
@Guttsy oui j'aurais dû noter que
Merci pour cela, comment puis-je toujours transmettre l'identifiant à la fonction si j'ai utilisé votre méthode? La raison en cours est qu'il doit supprimer une autre autre chose à l'aide du numéro d'identification afin qu'elle soit requise.
@kwhohasamullet J'ai édité ma réponse pour vous montrer comment obtenir l'identité si je ne suis pas sûr de ce que votre plan est pour cela, donc je ne sais pas si cela est précis à vos besoins
Merci pour cela - lorsque vous essayez d'utiliser ce code, j'obtiens l'erreur suivante: non capturé TypeError: Object #
Je vais devoir vous recontacter sur ça le matin
@kwhohasamlet Je ne suis pas sûr de ce que le problème n'est que de votre message d'erreur, vous devez regarder la ligne source 1152 dans hg-buy.html Fonction code> Fonction prend un argument code> ID code>, mais nulle part dans le
onclick code> Le gestionnaire est défini cet argument. Essayez cela à la place:
html h3>
javascript h3>
code> étiquette. p>
onclick code> entièrement, et utilisez ceci à la place: p>
votes
Ce code> qui fait référence à l'élément en cours de clic. Dans l'exemple ci-dessous, tout élément que vous avez cliqué sera supprimé.
Vérifiez l'exemple de travail sur http://jsfiddle.net/aswae/2/ h2>
votes
votes
$('tr[id^="product_"] a').live('click', function () {
// you could ge the id number from the tr
var id = $(this).closest('tr').attr('id').replace("product_","");
//then you could remove anything the that ends with _id
$('[id$="_'+id+'"]').remove();
});
code> s est en annexe de manière dynamique, vous devez donc utiliser .Live () code>.
Ce qui est avec le == '' à la fin de la table, peut avoir un problème là-bas et avez-vous vérifié le lien vers la fonction, devrait ressembler à
JavaScript: Supprimer le produit ('ID') code>
@MAZZZ: Je suis d'accord avec votre premier point, mais WTF @
JavaScript: SupprimerProduct ('ID') code>? Dans
OnClick CODE> Les gestionnaires, il n'y a jamais besoin de la
JavaScript: code> préfixe, et en passant la chaîne
'ID' code> à
Supprimer code> ne résout rien.
Lorsque l'annexe de manière dynamique fait une différence, vous devez utiliser une méthode en direct ou déléguée au lieu de la liaison régulière, voir: Stackoverflow.com/questions/5589491/...
Je ne voulais pas dire la chaîne, et c'était pour l'attribut HREF AKA
Supprimer Code>