Javascript problème select onChange

Résolu
f123b Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
f123b Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai fait un formulaire avec un select dans un fichier product.php

<form method="GET" name="form" action="product.php">
<select name="plusmoins" onChange="this.form.submit();">
<option value="default_ranking">defaut</option>
<option value="totalprice_ascending">prix croissant</option>
<option value="totalprice_descending">prix decroissant</option>
</select>
</form>


A chaque évênement onChange le fichier product.php est rechargé, les options sont passées dans l'url, et les produits sont classés.
Par exemple si on veut classer les produits par prix croissant: l'url product.php devient product.php?plusmoins=totalprice_ascending
Jusque la tout fonctionne.

Par contre quand la page se recharge l'option selectionner se remet par defaut:
pour reprendre le même exemple, les produits sont bien classés par prix croissants mais l'option selectionnée par defaut dans le select n'est pas totalprice_ascending, elle reste a default_ranking.

Comment peut on faire pour que l'option qu'on selectionne, qui crée l'évênement onChange reste selectionnée après le submit(après le rechargement de la page)?

je pense que c'est un problème tout bète mais je n'ai trouvé aucune reponse dans le forum, dans les tutoriels et je suis trop novice en javascript pour trouver la solution, j'ai essayé d'adapter des bouts de code sans succès.

Merci d'avance.

2 réponses

CaPiT Messages postés 609 Date d'inscription   Statut Membre Dernière intervention   51
 
Bonjour,

j'aurais fait un truc du genre (je n'ai pas testé le code il est peut-être à modifier):

<form method="GET" name="form" action="product.php">
<select name="plusmoins" onChange="this.form.submit();">
<option <?php if(!$_GET["plusmoins"]){echo  selected;} ?> value="default_ranking">defaut</option>
<option <?php if($_GET["plusmoins"]=="totalprice_ascending"){echo selected;} ?> value="totalprice_ascending">prix croissant</option>
<option <?php if(($_GET["plusmoins"]=="totalprice_ascending"){echo  selected;} ?> value="totalprice_descending">prix decroissant</option>
</select>
</form> 
1
f123b Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup, ca marche très bien.
0