> Tous les forums > Forum des Webmasters
 variable d'un select MAJ en "directe"
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
007good
  Posté le 20/09/2012 @ 22:29 
Aller en bas de la page 
Petit astucien

Bonjour,

J'ai une petite liste deroulante. Dont j'utilise la variable de sortie $id_select qui prends la valeur choisi par l'utilisateur.

Seulement j'aimerai que cette variable prenne la bonne valeur des le choix de l'usager et pas besoin de recharger une page.

<tr>
<td>1.</td>
<td><select name="couleurs_pant_1">
<option value="0">-------------</option>
<option value="1">Noir</option>
<option value="2">Blanc</option>
</select></td>
<td><select name="taille_pant_1">
<option value="0">------------</option>
<option value="1">XS</option>
<option value="2">S</option>
<option value="3">M</option>
<option value="4">L</option>
<option value="5">XL</option>
<option value="6">2XL</option>
<option value="7">3XL</option>
</select></td>
<td><select name="quantite_pant_1">
<option value="0">------------</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select></td>
<td><? echo 330*$quantite_pant_1; ?></td>
</tr>

Pour l'instant cela ne fonctionne pas :(

Publicité
micron
 Posté le 21/09/2012 à 08:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Salut,

C'est tout à fait normal, PHP est exécuter du coté serveur, pas du coté client donc il ne peut pas récupérer la valeur dans ton select.

La meilleure moyen a faire c'est de soit faire un script en Javascript (avec jQuery pour plus de facilité ) ou soit faire un script en Ajax.

Voici un exemple de script avec jQuery

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
$(function() {
$("select#qte_pant_1").change(function(){
a = $('option:selected', this).val();
$("td#affiche").text(a);
});
});
</script>
</head>
<body>
<table>
<tr>
<td>1.</td>
<td>
<select name="couleurs_pant_1">
<option value="0">-------------</option>
<option value="1">Noir</option>
<option value="2">Blanc</option>
</select>
</td>
<td>
<select name="taille_pant_1">
<option value="0">------------</option>
<option value="1">XS</option>
<option value="2">S</option>
<option value="3">M</option>
<option value="4">L</option>
<option value="5">XL</option>
<option value="6">2XL</option>
<option value="7">3XL</option>
</select>
</td>
<td>
<select id="qte_pant_1" name="quantite_pant_1">
<option value="0">------------</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
</td>
<td id="affiche">&nbsp;</td>
</tr>
</table>
</body>
</html>



Modifié par micron le 21/09/2012 11:50
007good
 Posté le 25/09/2012 à 18:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci Micron !

Je regarde ca

007good
 Posté le 25/09/2012 à 20:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Micron,

Ta solution marche parfaitement !! :)

Sauf que j'arrive pas a la dédoubler :(

Lorsque j'essai de le double comme suit, la premiere marche bien, mais la deuxieme, ne marche pas; il m'affiche constament 0.

Je te met le lien, comme ca tu pourra avoir l'exemple concret de ce que j'ai fait :)

http://www.mvdracewear.fr/test/Shop/index.php



Modifié par 007good le 25/09/2012 20:06
007good
 Posté le 25/09/2012 à 20:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Je n'ai toucher qu'au deux premier select ;)

micron
 Posté le 25/09/2012 à 21:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

J'ai trouvé pourquoi

Le problème c'est dans ton select 2

<select id="qte_pant_2" name="quantite_pant_2">
<option value="">------------</option>
<option value="">1</option>
<option value="">2</option>
<option value="">3</option>
<option value="">4</option>
<option value="">5</option>
<option value="">6</option>
<option value="">7</option>
</select>

Comme tu peux le voir, chaque option à une value vide. Il faut mettre une valeur comme t'as fais pour le select qte_pant_1 ;)

Sinon, pour ton code js c'est mieux de faire ceci :

<script>
$(function() {
$("select#qte_pant_1").change(function(){
pant_1 = $('option:selected', this).val()*330;

$("td#affiche_pant_1").text(pant_1);
});

$("select#qte_pant_2").change(function(){

pant_2 = $('option:selected', this).val()*330;

$("td#affiche_pant_2").text(pant_2);
});

});

</script>

mais, il a moyen de faire encore plus court que ca, je vais essayer de le faire



Modifié par micron le 25/09/2012 21:28
007good
 Posté le 25/09/2012 à 22:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Arf, tu as complétement raison.
J'avais mis tout "à vide" au début, et même pas fait attention à cela.

Un grand merci pour ton aide précieuse

micron
 Posté le 25/09/2012 à 22:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Mais de rien {#}

En tout cas j'ai trouvé le moyen de réduire la fonction.

Mais je me demande juste si le 330 est une valeur fixe ou variable ?

007good
 Posté le 25/09/2012 à 22:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Fixe ;)

micron
 Posté le 26/09/2012 à 07:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

ok et bin si c'est fixe, voici alors le script

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
$(function() {
$("select.qte").change(function(){
a = $('option:selected', this).val()*330;
id = $(this).attr("id");
$("td#affiche_"+id).text(a);
});
});
</script>
</head>
<body>
<table>
<tr>
<td>1.</td>
<td>
<select name="couleurs_pant_1">
<option value="0">-------------</option>
<option value="1">Noir</option>
<option value="2">Blanc</option>
</select>
</td>
<td>
<select name="taille_pant_1">
<option value="0">------------</option>
<option value="1">XS</option>
<option value="2">S</option>
<option value="3">M</option>
<option value="4">L</option>
<option value="5">XL</option>
<option value="6">2XL</option>
<option value="7">3XL</option>
</select>
</td>
<td>
<select class="qte" id="qte_pant_1" name="quantite_pant_1">
<option value="0">------------</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
</td>
<td id="affiche_qte_pant_1">&nbsp;</td>
</tr>
<tr>
<td>2.</td>
<td>
<select name="couleurs">
<option value="">-------------</option>
<option value="">Noir</option>
<option value="">Blanc</option>
<option value="">Rouge</option>
<option value="">Vert</option>
<option value="">Bleu</option>
<option value="">Jaune</option>
<option value="">Multicouleur Blanc</option>
<option value="">Multicouleur Noir</option>
</select>
</td>
<td>
<select name="taille">
<option value="">------------</option>
<option value="">XS</option>
<option value="">S</option>
<option value="">M</option>
<option value="">L</option>
<option value="">XL</option>
<option value="">2XL</option>
<option value="">3XL</option>
</select>
</td>
<td>
<select class="qte" id="qte_pant_2" name="quantite_pant_2">
<option value="0">------------</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
</td>
<td id="affiche_qte_pant_2">&nbsp;</td>
</tr>
</table>
</body>
</html>

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
Les soldes d'hiver 2025
SOLDES -1 -%
Tablette 12.1 pouces Poco Pad (2.5K IPS 120 Hz, Snapdragon 7s gen 2, 8Go/256Go, Android 14, stock ES) à 189,24 €
189,24 € 270 € -30%
@AliExpress
Vidéo projecteur WANBO T2 Ultra (Full HD, 500 lumens, Android TV, entrepôt Europe) à 179 €
179 € 218 € -18%
@Geekbuying
Kit de surveillance Tapo C420S2 (2 caméras + base avec alarme sonore, QHD, extérieur IP65, WiFi) à 156,63 €
156,63 € 249,99 € -37%
@Amazon Allemagne
Lot de 6 verres à eau et jus Duralex Provence à 9,19 €
9,19 € 18,66 € -51%
@Amazon
12 recharges de lames de rasoir Gillette Fusion5 (5 lames) à 24,99 €
24,99 € 41,45 € -40%
@Amazon

Sujets relatifs
Erreur SQL ! select pwd from
variable et array
Tri dans un select
variable
lister avec 2 select sur 2 tables
Passage de variable et affichage
variable $mailheaders
souci de troncature sur variable double
margin-left dans résultat d'une variable php
Retour à la ligne variable affiché dans du javascr
Plus de sujets relatifs à variable d''un select MAJ en "directe"
 > Tous les forums > Forum Forum des Webmasters