begin process at 2012 05 29 12:58:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

3 Liste déroulante en chaine qui se Masque/Démasque les une aux autres


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

3 Liste déroulante en chaine qui se Masque/Démasque les une aux autres

mardi 28 juillet 2009 à 21:43:54 | 3 Liste déroulante en chaine qui se Masque/Démasque les une aux autres

scoal

Bonjour,

Voilà je but depuis un petit moment sur un petit soucis...
Je voulais faire 3 listes déroulantes, la 1ère va généré le contenu et afficher le <select> de la 2nd liste, la 2nd génère le contenu et affiche le <select> de la 3ème, jusqu'ici c'est cool
Mais quand je rechange le choix sur la première liste, la seconde est bien généré, mais la 3ème ne se rafraichis pas et reste donc avec la suite de choix précédent et n'est pas "caché".
Donc s'est pas très fonctionnel...

Bref voici le code :
Partie HTML

Code HTML :

<form action="" method="post">
<table>
<tr>
<td>Country: </td>
<td><select id="dhtmlgoodies_country" name="dhtmlgoodies_country" onchange="getStateList(this)">
<option>Any</option>
<?php
$sql = 'SELECT * FROM pays ORDER BY pays_int';
$query = mysql_query($sql) or die( 'Erreur' );
while ( $g = mysql_fetch_array( $query ))
{
echo '<option value="'.$g['id_pays'].'">'.$g['pays_int'].'</option>';
}
?>
</select>
</td>
</tr>
<tr id="dhtml_state" style="display:none">
<td>State:</td>
<td><select id="dhtmlgoodies_state" name="dhtmlgoodies_state" onchange="getCityList(this)"></select></td>
</tr>
<tr id="dhtml_city" style="display:none">
<td>City: </td>
<td><select id="dhtmlgoodies_city" name="dhtmlgoodies_city"></select></td>
</tr>
</table>
</form>

Partie JS
Code Javascript :

function getStateList(sel)
{
var countryCode = sel.options[sel.selectedIndex].value;
var sel_state = document.getElementById('dhtmlgoodies_state');
sel_state.options.length = 0; // Empty city select box
if(countryCode.length>0){
document.getElementById('dhtml_state').style.display = "";
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'getCities.php?countryCode=' + countryCode; // Specifying which file to get
ajax[index].onCompletion = function(){ createState(index) }; // Specify function that will be executed after file has been found
ajax[index].runAJAX(); // Execute AJAX function
}
}
function getCityList(sel)
{
var stateCode = sel.options[sel.selectedIndex].value;
var sel_city = document.getElementById('dhtmlgoodies_city');
sel_city.options.length = 0; // Empty city select box
if(stateCode.length>0){
document.getElementById('dhtml_city').style.display = "";
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'getCities.php?stateCode=' + stateCode; // Specifying which file to get
ajax[index].onCompletion = function(){ createCities(index) }; // Specify function that will be executed after file has been found
ajax[index].runAJAX(); // Execute AJAX function
}
}
function createState(index)
{
var obj = document.getElementById('dhtmlgoodies_state');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}
function createCities(index)
{
var obj = document.getElementById('dhtmlgoodies_city');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}


Bref si quelqu'un pourrait m'éclaircir les idées serait le très bien venu



Cette discussion est classée dans : function, sel, ajax, index, city


Répondre à ce message

Sujets en rapport avec ce message

Liste déroulante qui masque la suivante si "non selectionné" [ par scoal ] Bonjour, J'ai 3 liste déroulante qui s'enchaine, le contenue de la seconde dépend du "select" de la première et de même pour la troisième en fonction Zend Jquery Ajax | probleme d'affichege d'element sous IE [ par matdev62 ] Bonjour, j'ai developpé une application Zend sous wamp. Pour différents formulaires, j'utilise JQuery pour executer des requetes ajax afin d'affiche Ajax.Request et MSIE [ par rivarol89 ] Salut j'ai un probleme qui commence vraiment à m'ennuyer, voici un bout de code tout con :-----------JS-----------------------------function testReque AJAX, Marque-page ou Favori [ par Hauwee ] Bonjour, J'ai créé une page index où se trouve une DIV. Dans cette DIV seront affichées mes différentes pages web. J'ai lu que cela posait problème p Ajax et jQuery - Faire deux requêtes simultannées [ par lowkey ] Hello tout le monde :) Voici mon problème : J'exécute une requête en Ajax qui peut prendre beaucoup de temps (5 secondes à plusieures heures). Le t Function changerimage. [ par userrrqi115 ] Hello, Voilà j'explore la création de page web depuis peu. Et là j'arrive sur un os : J'ai dans une page (html) un SELECT (id="Sel") et une image des Utilisation XML dans AJAX [ par Samyghan ] Bonjour , alors voilà, j'ai un problème lors du traitement d'un retour d'une requête (en XML) généré par Prototype.J'ai deux pages : ajax.html (qui ut problem ds ma fonction ajax [ par kate1910 ] bonjour tout le monde svp est ce que quelqu'un peut me dire c'est quoi le probleme dans ma fonction ajax,normalement cette derniére va permettre a de lier 3 listes deroulantes [ par rhouya ] bonjour à tous je veux lier 3 liste deroulantes avec du javascript et du php mais je n'y arrive pas je vais vous montrer mon code et si quelqu'un s'y jQuery : Problème de double requete ajax [ par neoseals ] Bonjour à tous,Voilà je suis sur ce probleme depuis hier après-midi mais impossible de comprendre pourquoi ça ne marche pas ! Contexte:


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales