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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
| /**
fichier "public/js/jquery/custom/custom.js"
réalise des actions Javascript en s'appuyant sur le
Framework javascript JQUERY
*/
//Remplir les select du formulaire en fonction de la réponse AJAX
function remplirSelect (dataAjax) {
// Envoi requête AJAX
$.ajax({
type: "POST"
, url: "../ajax/remplir" // controller : ajax , action : remplir
, data : dataAjax
, dataType: "json"
, success: function(reponse){
// Sur Succès de la réponse AJAX
// Duplique ma réponse
var optionData = reponse;
// Suppression des éléments de mes listes déroulantes
$("#id_continent > option").remove();
$("#id_pays > option").remove();
$("#id_ville> option").remove();
// Ajoute les options pour chaque liste déroulante en fonction de la réponse
// Mes Continents
i = 0;
for (key in reponse.continent) {
$("#id_continent").append( '<option label="'
+ optionData['continent'][key]
+ '"'
+ 'value="'
+ key
+ '">'
+ optionData['continent'][key]
+ '</option>');
i++;
if (i == 2) {
$("#id_continent:first").prepend( '<option label="Choisissez" value="" >-- Choississez --</option>');
$("#id_continent option:first").attr ('selected', 'selected');
}
} //Eof:: for 'continent'
// Mes Pays
i = 0;
for (key in reponse.pays) {
$("#id_pays").append( '<option label="'
+ optionData['pays'][key]
+ '"'
+ 'value="'
+ key
+ '">'
+ optionData['pays'][key]
+ '</option>');
i++;
if (i == 2) {
$("#id_pays:first").prepend( '<option label="Choisissez" value="" >-- Choississez --</option>');
$("#id_pays option:first").attr ('selected', 'selected');
}
} //Eof:: for 'pays'
// Mes Villes
i = 0;
for (key in reponse.ville) {
$("#id_ville").append( '<option label="'
+ optionData['ville'][key]
+ '"'
+ 'value="'
+ key
+ '">'
+ optionData['ville'][key]
+ '</option>');
i++;
if (i == 2) {
$("#id_ville:first").prepend( '<option abel="Choisissez" value="" >-- Choississez --</option>');
$("#id_ville option:first").attr ('selected', 'selected');
}
} //Eof:: for 'ville'
} //Eof:: success
}); //Eof:: ajax
} //Eof:: fucntion remplirSelect
//Sur fin du chargement du document
$(document).ready( function() {
// Sur changement de l'un des 'select'
$("select").change(function(){
// Je recupère la valeur des sélections en cours
Vid_continent = $("select#id_continent").val();
Vid_pays = $("select#id_pays").val();
Vid_ville = $("select#id_ville").val();
// Données à passer à la requête AJAX
var dataAjax = { id_continent:[Vid_continent]
, id_pays:[Vid_pays]
, id_ville:[Vid_ville]
};
// Modification des 'select'
remplirSelect (dataAjax);
}); //Eof:: sur changement de l'un des 'select'
// Sur click bouton reset
$("#reset").click (function() {
// Aucun choix
Vid_continent = "";
Vid_pays = "";
Vid_ville = "";
// Données à passer à la requête AJAX
var dataAjax = { id_continent:[Vid_continent]
, id_pays:[Vid_pays]
, id_ville:[Vid_ville]
};
// Modification des 'select'
remplirSelect (dataAjax);
}); //Eof:: sur click btn 'reset'
}); //Eof:: ready |
Partager