Dans le même formulaire,je voudrais passer la valeur sélectionnée dans une première select à une deuxième select sous forme d'une variable php, sans soumettre pour autant le formulaire grâce à ajax.
La 1ère select affiche la liste des marques de voiture, ex :
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <select name="BRAND" id="BRAND"> <option value="Audi">Audi</option> <option value="BMW">BMW</option> <option value="MERCEDES">MERCEDES</option> </select>
Pour récupérer la valeur de la marque j'utilise le code js suivant :
et le script myscript.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <script> jQuery(document).ready(function($){ $("#BRAND").change(function() { var selectedbrand = $("#BRAND").val(); jQuery.ajax({ type: 'GET', url: 'mysite.com/script/myscript.php', data: {selectedbrand:selectedbrand}, success: function(data) { console.log(data); } }); }); }); </script>
Le code fonctionne car si dans function(data) je rajoute alert($selectedbrand) je récupère bien la valeur de la marque sélectionnée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php $selectedbrand = $_GET['selectedbrand']; ?>
En revanche, $selectedbrand n'est pas interprétée dans ma deuxième select qui après selection de la marque devrait afficher la liste des voitures lui correspondant.
Pour cette deuxième select la liste des voitures est obtenue dynamiquement en php en :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <select name="CAR" id="CAR">...</select>
- utilisant $selectedbrand comme variable php pour remonter la marque sélectionnée
- réinjectant $selectedbrand dans une requête SQL
- parsant le résultat de la requête pour afficher les <options></options>
Cette partie fonctionne car si je force en dur dans ce code php la valeur de $selectedbrand (ex $selectedbrand= 'BMW') j'affiche bien la liste des voitures BMW.
Donc comment puis-je récuperer $selectedbrand dans le code php de ma deuxième select ?
Faut-il revoir le code du js ou du script php exécuté lors d'une selection de la marque ? Ou faut-il modifier le code php de ma select "CAR" ?
Merci de votre aide
Partager