Actualiser un carrousel via AJAX (jquery)
Bonjour,
j'ai crée une page web composée d'un carrousel et d'une liste déroulante composé de nom de villes.
Avec l'aide incontestable de jreaux62 j'ai pu changer le fond d'écran de ma page en fonction de la liste qui était choisie dans le menu déroulant.
J'ai donc ensuite, via ajax et toujours avec l'aide de jreaux62 et rawsrc , actualisé les images de mon carrousel pour n'y placer que celles correspondant à la ville qui a été selectionnée dans la liste déroulante. Mais une fois ajax lancé, lorsque je change de ville j'ai cru comprendre que je perdais les éléments de mon carrousel et donc les images apparaissent les unes à la suite des autres sans carrousel!
J'utilise jquery et il me semble que delegate() me permettrait de récupérer mes éléments mais je n'arrive pas à me servir de cette fonction.
Voici le script utilisé dans ma page principale :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
<script type="text/javascript">
function AffichageCarrouselAjax(idselect) {
$.ajax({
type: "POST",
url: "_inclus/afficher-carrousel-ville-ajax.php",
data: "idville="+idselect,
dataType:"html",
cache: false,
success: function(html) {
$("#idcarrousel").html(html);
},
error: function(xhr, textStatus, errorThrown) {
alert('status:' + textStatus + ' --- error: ' + errorThrown);
}
});
$('body').css('background-image','url(fond/' + idselect + '.jpg)');
};
</script> |
Et la page .php appelé avec ajax :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
<?php
header('Content-Type: text/xml');
$idville = $_POST['idville']; //on récupère idville
if(is_numeric($idville)) { // on protège la bdd
?>
<ul>
<?php
try
{
// connexion a la bdd
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=projet_isep', 'root', '', $pdo_options);
// requete : infos pour cette ville
//$requete = "SELECT * FROM deals WHERE zoneiddeal = '".$idville."';";
//$reponse = $bdd->query('$requete')
$reponse = $bdd->query('SELECT * FROM deals WHERE zoneiddeal = '.$idville.';');
// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<li><a href="<?php echo '#'.$donnees['id']?>" class="tooltiplink"><img src="images/<?php echo $donnees['image']; ?>.jpg" alt="" width="100" height="100" /></a></li>
<?php
} // fin while
$reponse->closeCursor(); // Termine le traitement de la requête
} // fin try
catch(Exception $e)
{
// En cas d'erreur précédemment, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
} // fin catch
?>
</ul>
<?php
} // fin if is_numeric
?> |
En image, voici ma page au lancement :
http://hpics.li/adfdfe6
Et après que je change de ville dans ma liste déroulante :
http://hpics.li/f267fd1