11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Voici le problème qui me fait perdre les quelques cheveux qui me reste.

Voici le concept de ma page.
Sur le côté gauche, j'ai une liste de client. Le click sur un client, recharge la page via un appel ajax Jquery.


function selectclient(id) {
          $.ajax({
			type: "POST",
			url: "ajax/load_client.php",
			data: dataString,
			cache: false,
			success: function(html){
                           .............
                         }
		});
}


Lors du rechargement du client, j'affiche des commandes, qui peuvent être supprimée.


$(document).ready(function() {
     $(".command .btn-delete").click(function(){
		alert("Cette séance va être supprimée");
                ........
      });
}

1er cas : Si j'affiche un client par défaut, et clique sur le bouton "suppression", la suppression s'effectue.

2ième cas : Si je sélectionne un client il y a donc un rechargement par jquery/ajax de la page, et la le bouton "suppression" ne réagit plus.

Avez vous une idée sur la façon de ré-activer le $(document).ready(function() après un rechargement de la page via ajax ?
Modifié par Babali (27 Jul 2012 - 23:34)
Merci,

Mais je ne comprend pas comment intégrer le .on avec une fonction

function selectclient(id) {
}

et une fonction

$(".command .btn-delete").click(function(){
}

présente dans

$(document).ready(function() {
}

Modifié par Babali (26 Jul 2012 - 21:48)
Ça y est j'ai compris, les éléments chargés dynamiquement ne bénéficient pas des affectations du ready pour la simple raison qu'au moment de l'interprétation du ready il n'existent pas sur la page.
En sortant  $(".command .btn-delete")  du ready et à l'affectant à un .on() cela devrait régler mon problème 
$(document).ready(function() {
     $(".command .btn-delete").click(function(){
		alert("Cette séance va être supprimée");
                ........
      });
}


A remplacer par 
$(".command .btn-delete").on("click", function(){
alert("Cette séance va être supprimée");
                ........
});


Je teste Smiley biggrin