Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1678 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Javascript et options d'un select...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Javascript et options d'un select...

n°985063
kissskoool
Posté le 17-02-2005 à 16:15:09  profilanswer
 

Bonjour,
 
Est il possible de mettre des fonctions javascripts sur les etats d'un <option>??
 
Je veux dire par la...est il possible par ex d ecrire un truc du genre :
 
<select name="test">
  <option onclick="change_name();" value="test">coucou</option>
  <option onclick="change_name();" value="test2">coucou2</option>
</select>
 
ou alors ne peut on ecrire que :
 
<select name="test" onchange="change_name();">
  <option value="test">coucou</option>
  <option value="test2">coucou2</option>
</select>
 
???
 
Merci


Message édité par kissskoool le 17-02-2005 à 16:31:09
mood
Publicité
Posté le 17-02-2005 à 16:15:09  profilanswer
 

n°985076
kissskoool
Posté le 17-02-2005 à 16:28:11  profilanswer
 

excusez moi...je me suis trompé...j'ai corrige ma question...

n°985078
LeMicky
Posté le 17-02-2005 à 16:28:36  profilanswer
 

ce serait plutôt:
<select name="test" onchange="change_name();">
<option value="test">coucou</option>
<option value="test2">coucou2</option>
</select>
Ensuite, pour savoir lequel est sélectionné, ben y a document.forms[0].test.selectedIndex qui est pas mal ;)

n°985081
LeMicky
Posté le 17-02-2005 à 16:29:23  profilanswer
 

D'ailleurs, tu peux mettre un onclick même.

n°985082
kissskoool
Posté le 17-02-2005 à 16:32:00  profilanswer
 

ok j'ai recorrige...
 
sinon ca fait quoi exactement le selectedIndex???
 
ca a l air pas mal effectivement...

n°985085
kissskoool
Posté le 17-02-2005 à 16:32:49  profilanswer
 

ahh ok j'ai compris....mais il renvoie koi le selectedindex??

n°985086
LeMicky
Posté le 17-02-2005 à 16:34:16  profilanswer
 

:) le selectedIndex te donne l'index de l'option qui est sélectionnée.
Ainsi tu peux via document.forms[0].test.options[document.forms[0].test.selectedIndex].value (ou text) récupérer la valeur ou le text.
Je te conseille de trouver un site de réféence sur le javascript et de lire un peu de doc :)

n°985101
kissskoool
Posté le 17-02-2005 à 16:46:56  profilanswer
 

ahhh ok c super cool comme truc...merci bcp LeMicky... ;)
 
Mais en fait je ne sais pas si je vais dans le bon sens pour trouver la solution a mon pb...
 
Si tu le permets je te situe le soucis :
 
J'ai un select dont les options sont creees en fonction du contenu d'une base de donnees...
cad un truc comme ca :
 
<select name="test">
<?
while ($row_data = mysqli_fetch_assoc($temp_data))
{
?>
<option value="<?print $row_data['id']?>"><?print $row_data['name']?></option>
<?
}
?>
</select>
 
...et a cote de ce select j'ai un input du genre :
 
<input type=text name=age value="">
 
et dans ce input je voudrais mettre $row_data['age'] a chaque fois qu'un "name" est selected???
 
je me fais comprendre...ou c'est peu clair??

n°985104
kissskoool
Posté le 17-02-2005 à 16:48:40  profilanswer
 

Le pb c'est que je ne sais pas comment faire le lien entre l'option choisie et ce que je dois ecrire dans le input...

n°985106
LeMicky
Posté le 17-02-2005 à 16:54:10  profilanswer
 

C'est clair, et il est clair que tu ne parviens pas à voir ce qu'il faut faire côté serveur et côté client (en gros, côté php et côté purement javascript).
T'as deux solutions : une super easy mais pas la plus élégante, une autre, un poil plus complexe mais plus élégante.
La première :
<select name="test" onchange="changeAge();">  
<?  
while ($row_data = mysqli_fetch_assoc($temp_data))  
{  
?>  
<option value="<?echo $row_data['id']."-".$row_data['age']?>"><?print $row_data['name']?></option>  
<?  
}  
?>  
</select>
=> <script> changeAge() {
txt=document.forms[0].test.options[document.forms[0].test.selectedIndex].value;
document.forms[0].age.value=txt.substr(txt.indexOf("-" )+1);
}
</script>
Alors si ça ne fonctionne pas sur le onchange (il prend l'ancienne valeur du selectedIndex je crois... à tester, tu mets un onclick plutôt)
 
2ème solution : Sinon ben tu crées un tableau javascript dans ton php ou ton tab[id]=age.
genre en php
<script>
tab=new Array();
<? while (...) {?>
tab[<?echo $row_data['id'];?>]="[<?echo $row_data['age'];?>";
<?}?>
et après tu utilises ton tab.


Message édité par LeMicky le 17-02-2005 à 16:59:54
mood
Publicité
Posté le 17-02-2005 à 16:54:10  profilanswer
 

n°985155
kissskoool
Posté le 17-02-2005 à 17:36:20  profilanswer
 

je peux le creer n'importe ou ce tableau??
Je peux le creer juste avant mon select??
 
 
 

n°985764
LeMicky
Posté le 18-02-2005 à 10:26:33  profilanswer
 

même pendant, tu mets la création de ton tableau dans une variable php genre:
$tabjs.="tab[".$row_data['id']."]=".$row_data['age'].";\n";
Comme ça tu n'as qu'une boucle à faire.
Et ensuite tu écris ton $tabjs dans un tag javascript :
<script>
<?=$tabjs;?>
</script>


Message édité par LeMicky le 18-02-2005 à 10:27:21

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Javascript et options d'un select...

 

Sujets relatifs
objet en cours javascript, ??Le javascript, c'est hyper space comme concept
fonction javascript pour ouvrir un explorer de fichier[HTML] Select et disabled
[javascript] pause,sleep, ou wait ou rien!Mettre de l'HTML dans un layer (type infobulle) en JavaScript.
[ASP.NET JAVASCRIPT][Javascript][résolu] Empêcher les posts monosmilesques
Mise à jour d'un champ Select suite à une sélection[HTML/Javascript] gallerie avec image survolée et affichage séparé
Plus de sujets relatifs à : Javascript et options d'un select...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR