j'ai une table qui ressemble à quelque chose comme ceci:Supprimer une ligne d'en-tête après toutes les autres lignes ont été supprimées
<table>
<tr id="header">
<th>Title</th>
<th>Title</th>
</tr>
<tr id="1" class="record">
<td><a class="delbutton">X</a></td>
<td>Some Data</td>
</tr>
<tr id="2" class="record">
<td><a class="delbutton">X</a></td>
<td>Some Data</td>
</tr>
</table>
Et j'avoir un script jQuery:
$(function() {
$(".delbutton").click(function(){
//Save the link in a variable called element
var element = $(this);
//Find the id of the link that was clicked
var del_id = element.attr("id");
//Built a url to send
var info = 'del_id=' + del_id;
if(confirm("Are you sure you want to delete this entry? This cannot be undone.")) {
$.ajax({
type: "GET",
url: "delete_entry.php",
data: info,
success: function(){
}
});
$(this).parents(".record").animate({ backgroundColor: "#fbc7c7" }, "fast")
.animate({ opacity: "hide" }, "slow");
}
return false;
});
});
Ce que je suis essayer de faire est de supprimer la ligne d'en-tête (id = "header"), ou mieux encore, la table restante après la dernière ligne de données a été supprimée.
Toute orientation serait grande
Mise à jour: Après avoir suivi la recommandation de Tom j'ai essayé de compter les lignes. J'ai essayé avec:
$('.record').size()
mais qui rapporte toujours le nombre initial de lignes - il ne retourne jamais avec précision le nombre de lignes après que je supprimer une ligne. Est-il possible de garder une trace des lignes restantes en quelque sorte?
Résolution Cela a fonctionné.
$(function() {
$(".delbutton").click(function(){
//Save the link in a variable called element
var element = $(this);
//Find the id of the link that was clicked
var del_id = element.attr("id");
//Built a url to send
var info = 'del_id=' + del_id;
if(confirm("Are you sure you want to delete this entry? This cannot be undone.")) {
$.ajax({
type: "GET",
url: "delete_entry.php",
data: info,
success: function(){
}
});
$(this).parents(".record").animate({ backgroundColor: "#fbc7c7" }, "fast")
.animate({ opacity: "hide" }, "slow");
//Remove - don't just hide
$(this).parents(".record").remove();
//If there are no more deleteable rows, delete the header
if($('.record').length == 0) {
$('#existTitle').animate({ backgroundColor: "#fbc7c7" }, "fast").animate({ opacity: "hide" }, "slow");
}
}
return false;
});
});
essayer $ ('enregistrement') longueur au lieu - assurez-vous de le faire dans la fonction il est mis à jour. –
Juste pour essayer j'ai ajouté alerte ($ ('. Record'). Longueur); juste avant le if (configm ... dans la fonction et il n'est pas mis à jour non plus :-( – Jason
Je pense que le compte ne change pas puisque je ne cache que l'élément ... – Jason