Je suis un noob avec jQuery ... et j'espère avoir bien expliqué cela; J'ai un en-tête <ul>
qui apparaît lorsque j'ai ajouté une entrée à une liste créée dynamiquement en utilisant $.post
. Chaque entrée ajoutée a un bouton delete/edit associé.jQuery masquer l'en-tête ul lorsque toutes les entrées sont supprimées
tête est le suivant:
<ul class="header">
<li>Month</li>
<li>Year</li>
<li>Cottage</li>
</ul>
Ma liste dynamique qui est créée:
<ul class="addedItems">
<li>Month</li>
<li>Year</li>
<li>Cottage</li>
<li><span class="edit">edit</span></li>
<li><span class="del">delete</span></li>
</ul>
This all looks like this:
Month Year Cottage <--this appears after I've added an entry
-------------------------------- and I want it to stick around unless
all items are deleted.
Dec 1990 Fir edit/delete <--entries
Jan 2000 Willow edit/delete
Ma question est: Y at-il une sorte de sous condition que je peux utiliser avec jQuery pour cacher la class="header"
si tous les éléments sont supprimés? J'ai lu des instructions conditionnelles comme is
et not
avec jq mais je ne comprends pas vraiment comment ils fonctionnent. Tous les éléments de class="addedItems"
sont stockés dans data
produit par JSON.
Ceci est la fonction de suppression:
$(".del").live("click", function(){
var del = this;
var thisVal = $(del).val();
$.post("delete.php", { dirID : thisVal },
function(data){
if(confirm("Are you sure you want to DELETE this entry?") == true) {
if(data.success) {
//hide the class="header" here somwhere??
$(del).parents(".addedItems").hide();
} else if(data.error) {
// throw error if item does not delete
}
}
}, "json");
return false;
}); //end of .del function
Voici le delete.php
<?php
if($_POST) {
$data['delID'] = $_POST['dirID'];
$query = "DELETE from //tablename WHERE dirID = '{$data['delID']}' LIMIT 1";
$result = $db->query($query);
if($result) {
$data['success'] = true;
$data['message'] = "Entry was successfully removed.";
} else {
$data['error'] = true;
$data['message'] = "Item could not be deleted.";
}
echo json_encode($data);
}
?>
@Ghommey ne peut pas le faire fonctionner ... grr. – Scott
l'homme ... toujours pas de chance. Pouvez-vous mettre un 'each' dans une fonction de clic 'live'? Cela ne devrait pas importer? – Scott
essayez ceci. obtenez-vous une erreur javascript? – jantimon