Passer la valeur d'un SELECT à un autre SELECT
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:
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 :
Code:
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> |
et le script myscript.php
Code:
1 2 3
| <?php
$selectedbrand = $_GET['selectedbrand'];
?> |
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.
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.
Code:
<select name="CAR" id="CAR">...</select>
Pour cette deuxième select la liste des voitures est obtenue dynamiquement en php en :
- 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