Datepicker de JQuery ne fonctionne pas après l'appel ajax
J'ai le code suivant
<html>
<head>
//included all jquery related stuff ..not shown here
</head>
<body>
<button id = 'btn' />
<div id = 'ct'>
<?php echo file_get_contents('my_ajax_stuff.php'); ?>
</div>
</body>
<script>
$('.datepicker').datepicker({dateFormat: "dd-mm-yy"});
$('#btn').click(function() {
$.ajax({
type: "GET",
url: "my_ajax_stuff.php" ,
success: function(response) {
$('#ct').html(response);
/*added following line to solve this issue ..but not worked*/
//$( ".datepicker" ).datepicker({dateFormat: "dd-mm-yy"});
} ,
error: function () {
$('#ct').html("Some problem fetching data.Please try again");
}
});
});
</script>
</html>
La page
my_ajax_stuff.php
contient un jquery ui datepicker class = 'datepicker'.Lors du premier chargement du datepicker œuvres.Mais quand je clique sur le bouton afin de le recharger à nouveau , son contenu est remplacé par le nouveau contenu.Mais le datepicker ne fonctionne pas.J'ai essayé de l'initialisation du datepicker à l'intérieur de l'ajax gestionnaire de succès ,comme vous le voyez.Mais il a aussi échoué.Quel est le problème.Comment peut-il être résolu???
J'ai essayé ce qui est commenté en ajax gestionnaire de succès ici..Mais pas de différence
Et ce que vous donner dans la réussite de rappel:
.longueur retourne 1.Aucune erreur dans la console
s'il vous plaît, fournir le code HTML de .datepicker élément, tel qu'il est dans
Et ce que vous donner dans la réussite de rappel:
$( ".datepicker" ).length
? Toute erreur dans la console? BTW, vous pouvez utiliser une solution de contournement par réinitialiser datepicker en cas de besoin (ce n'est déjà fait) sur mouseenter par exemple. Mouseenter, il convient de déléguer.longueur retourne 1.Aucune erreur dans la console
s'il vous plaît, fournir le code HTML de .datepicker élément, tel qu'il est dans
response
OriginalL'auteur Jinu Joseph Daniel | 2013-12-08
Vous devez vous connecter pour publier un commentaire.
Vous devez
reinitialize
le sélecteur de date dans Ajax succèsfonctionne très bien ici....jsfiddle.net/9rVK4 autre chose est incorrect dans votre code
yo ont essayé avant d'ajax le mettre dans votre réussite
pas le cas.J'ai un datepicker déjà dans la page..et un autre est de l'écraser..Dans votre cas, vous n'avez pas de datepicker..et le datepicker est chargé en ajax
voici votre scénario de travail finne aussi jsfiddle.net/9rVK4/3
OriginalL'auteur Moeed Farooqui
La réponse que vous cherchez peut-être semblable à cette question:
datepicker de jQuery ne fonctionne pas sur un AJAX ajout de l'élément html
Vous remplacez le datepicker élément dans le DOM avec l'ajax réponse.
La raison pour laquelle cela fonctionne pour la première fois, c'est que PHP rend le my_ajax_stuff.php sur la première charge déjà dans le code HTML de sorte qu'il devient disponible à jQuery dans les DOM.
$("body").on("click", ".datepicker:not(.hasDatepicker)", function(){...});
Cette solution ne fonctionne pas 🙁
pourriez-vous fournir des balises HTML .datepicker élément, tel qu'il est dans la réponse et que je vous ai demandé 10 minutes plus tôt???
jsfiddle.net/Wu3h6 - c'est la actuall code de la page
je ne sais pas, il doit travailler comme vous l'avez déjà essayé
OriginalL'auteur Gotschi
Je suis tombé sur cette question, parce que j'ai eu le même problème que l'OP.
Mooed Farooqui recommandation du
reinitialize
en Ajax succès travaillé, mais pas au début.Fini que j'ai été aussi l'appel de la
datepicker
fonction dans ma équivalent demy_ajax_stuff.php
. Après, j'ai pris que cela a fonctionné parfaitement sur le bouton de rechargement et des publications. Espérons que cela aide quelqu'un qui tombe sur cette vieille question...OriginalL'auteur bizco
Appelez votre sélecteur à l'intérieur de
.ajaxComplete
fonction.Ici est un lien
OriginalL'auteur Waleed Abdalmajeed