Supprimer HTML ligne de la table de manière dynamique à l'aide de javascript avec index de ligne avec un lien
Je voulais dynamiquement ajouter/supprimer des lignes de la table en HTML. Je sais qu'il y a beaucoup de questions dans ce forum avec de requête similaire. Mon doute est de faire de la suppression de l'action applicables pour chacune des lignes. Pour cela, j'ai été en utilisant les index de la table.
//Link
var cell7 = row.insertCell(6);
var element7 = document.createElement("a");
var text = document.createTextNode("Delete");
element7.appendChild(text);
element7.setAttribute("href","javascript:deleterow("+rowcount+")");
element7.name="reqlink[]";
cell7.appendChild(element7);
Ici rowcount est l'indice de l'ajoutés à la ligne. Ainsi, alors que l'ajout de la ligne, j'définir la suppression de l'action ainsi. Donc, il y aura un lien pour le supprimer pour chaque ligne. Cependant, le problème est l'indice varie de façon dynamique. Donc, cette solution fonctionne pas vraiment.
S'il vous plaît pouvez-vous aider? Je ne veux pas utiliser la case à cocher tel que défini par l'un de la solution.
La ligne supprimer la fonction est scripté comme suit:
function deleterow(index){
alert('working' + index);
table.deleteRow(index);
}
######### Essayé ce ###########
//Link
var cell7 = row.insertCell(6);
var element7 = document.createElement("a");
var text = document.createTextNode("Delete");
element7.appendChild(text);
element7.setAttribute("href","javascript:deleterow(this); return false");
element7.name="reqlink[]";
cell7.appendChild(element7);
De la "ce" points de fenêtre et de ne pas la ligne de la table..
- Donner à chacune des lignes de votre tableau d'un Identifiant unique et d'utiliser cet identifiant pour supprimer la ligne. Sinon, vous pourriez passer le parent de ligne dans la fonction au lieu d'un numéro spécifique.
- exemple, s'il vous plaît.. Suis insertion d'une ligne avec ce code: var ligne = table.insertRow(nombre de lignes);
- Puis-je vous suggérer de commencer upvoting certaines des réponses que vous obtenez? 🙂
Vous devez vous connecter pour publier un commentaire.
Solution est de passer la ligne actuelle de l'élément de la deleteRow de la fonction et de l'enlever à l'aide de son élément parent(vous ne pouvez pas supprimer directement), de sorte que la fonction ressemblera à ceci:
HTML pour supprimer le lien est le suivant
Utiliser la ligne suivante pour créer un élément de manière dynamique(attention également avec les caractères majuscules et minuscules):
Donc, en utilisant l'IDENTIFIANT de la suppression de lignes est inutile. Espérons que cela aidera.
ne pas utiliser l'index de la ligne. il est faux à bien des niveaux. imaginez u supprimé 1er 3 cellules et de votre index a changé. si vous souhaitez supprimer la 4e ligne, il sera effectivement supprimer 7e ligne au lieu de la 4e ligne de votre table.
ajouter un "data-id" dans votre qui a un id unique pour chaque ligne.
l'utiliser pour supprimer la ligne.
MEILLEURE SOLUTION:
c'est en jQuery afin de trouver le js prototype équivalent.
et $(this) est votre bouton est cliqué. donc, ne le js équivalent de la ci-dessus pour le "clic" de l'événement du bouton.