J'ai une page avec une liste d'éléments initialement chargés depuis une ligne include_once('show_calendarV2.php');
. À côté de chaque élément se trouve une icône de suppression qui déclenche la commande jquery suivante pour supprimer l'élément de la base de données, puis mettre à jour la page.Les fonctions jquery ne fonctionnent pas correctement après .html reload
$('.delete_schedule_item').click(function() {
var id = $(this).next('input[type=hidden]').attr('value');
alert (id);
$.ajax({
url: 'ajax/delete_schedule_item.php',
type: 'post',
data: { id: id },
dataType: 'json', // get back status of request in JSON
success: function(data)
{
//alert('item deleted');
}
// if (data.status) {
// alert('success');
// }
// else {
// alert('error');
// },
//... other parameters/callbacks ...
});
$.get('show_calendarV2.php', {},
function(data)
{
//load the calendar data
$("#calendar").html(data);
});
});
Tout fonctionne correctement la première fois qu'un élément est supprimé. L'élément a été supprimé. La nouvelle page est chargée.
Mais après que la page charge les boutons de suppression? appels jquery? ne fonctionne plus.
La même page est utilisée pour créer l'affichage initial ainsi que l'affichage actualisé. Je ne suis donc pas sûr de l'échec du code.
Des idées?
Wooo. Qu'est-ce que c'est .live et pourquoi est-ce que .click ne fonctionne qu'une seule fois? – ian
Voici la documentation pour cela. Ça l'explique plutôt bien. http://docs.jquery.com/Events/live.Essentiellement, il utilise la délégation d'événement à un élément ancêtre qui gère l'événement click et cherche à voir où il s'est produit, et s'il s'est produit sur quelque chose qui correspond à votre sélecteur, alors c'est ce qu'il fait. – womp
Ok, contrairement au javascript normal où et onclick peut arriver chaque fois qu'il est cliqué ... parce que cette jquery et à l'intérieur de la fonction onready() ne se produit qu'une seule fois sauf si j'utilise la fonction live(). – ian