Menus déroulants dependants avec un element qui contient un espace - jquerry [Résolu]

Signaler
Messages postés
16
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
2 novembre 2010
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjou,

J'ai créé 3 menus déroulants qui se chargent de la base de données.

Le deuxième dépends du premier, le troisième dépends du deuxième.
LE PROBLEME: le deuxième menu contient des éléments avec un espace, que lorsque je sélectionne un, le troisième menu n'affiche rien! Par contre lorsque l’élément ne contient pas d'espace les menu fonctionne bien.

<script> 
$(function() {			

$("#db-one").change(function() {
$("#db-two").load("listeHotelsGetter.php?choice=" + $("#db-one").val());
});

$("#db-two").change(function() {
$("#db-three").load("listeHotelsGetter.php?choice2=" + $("#db-two").val());
});


});
</script> 


Le formulaire contenant les 3 select:
<form id="form1" name="form1" method="get" action="<?php  echo $_SERVER['PHP_SELF']; ?>">
  <label>Sélectionnez la localisation :    </label>

  
  
      <select name="pays"  id="db-one">
  <option>Selectionnez pays</option>
  <?php 
            $reqPays="SELECT * FROM localisation group by pays";
            $resultatP=mysql_query($reqPays);
                          
            while($ligneP=mysql_fetch_array($resultatP)) {?>
            <option value="<?php if ($ligneP['pays']=='Selectionnez pays') echo'%'; else echo $ligneP['pays'];?>"> <?php echo $ligneP['pays'];?> </option>
             <?php  }?>
       </select>
  
      <?php //----------------------------------------------------------------- ?>
  
  	  <select name="region" id="db-two">
<option>Selectionnez pays d'abord</option>
   
      </select>
  
    	  <select name="ville" id="db-three">
<option>Selectionnez région d'abord</option>
   
      </select>

  
  
  
</form>



Le fichier destination:
<?php
require_once('connexionMysql.inc.php');
        
$choice = $_GET['choice'];
$query = "SELECT * FROM localisation WHERE pays='".$choice."'  GROUP BY region ORDER BY region";
        $result = mysql_query($query);
        while ($row = mysql_fetch_array($result)) {
                echo "<option>" . $row{'region'} . "</option>";
        }



$choice2= $_GET['choice2'];
$query2 = "SELECT * FROM localisation WHERE region='".$choice2."' ORDER BY ville";
$result2 = mysql_query($query2);
while ($row = mysql_fetch_array($result2)) {
                echo "<option>" . $row{'ville'} . "</option>";
        }

?>

2 réponses

Messages postés
16
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
2 novembre 2010

resolu:

Ajouter escape() à la variable envoyée par jquery
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
Bonjour,
peut être plus judicieux d'utiliser encodeURI() et decodeURI()

;O)