affecter un selected

affecter un selected - HTML/CSS - Programmation

Marsh Posté le 31-08-2004 à 08:22:43    

Lut tout le monde,
 
Petit pb à mon avis pas trop méchant :
 
Je crée un select et je voudrais affecter le selected après avoir initialiser les options (sinon je suis obligé de faire des test dans des boucles for et c'est un peu moche).
 
je voyait bien un truc du genre:
 
<select name="Coeff" size="1">  
<?php  
for ($i=1;$i<=3;$i++) {
  for ($j=0;$j<=9;$j++) {
    echo '<option name='.$i.'.'.$j.' id='.$i.'.'.$j.' value='.$i.'.'.$j.'>'.$i.'.'.$j.'</option>';
   }
}
echo '<option id=2.2 selected></option>';
?>
</select></td>
 
Mais bon forcément ça marche pas, alors si quelqu'un connait la syntaxe je suis preneur, et si quelqu'un pense que ce n'est pas possible qui le dise et je ferai du code très lourd .......... encore.
 
Merci a tous.

Reply

Marsh Posté le 31-08-2004 à 08:22:43   

Reply

Marsh Posté le 31-08-2004 à 08:57:44    

il doit te lanquer un "\n" à la fin pour faire un retour à la ligne après chaque option.
 
pas de name dans tes option, tu l'a déjà spécifié dans le select. L'ID c'est pareil, voit pas à quoi ça sert dans un option, meme pas sur que ça existe...
 
essai un truc comme ça pour voir:
 

Code :
  1. <select name="Coeff" size="1"> 
  2. <?php 
  3. for ($i=1;$i<=3;$i++) {
  4.   for ($j=0;$j<=9;$j++) {
  5.     echo '<option value='.$i.'.'.$j.'>'.$i.'.'.$j.'</option>\n';
  6.    }
  7. }
  8. ?>
  9. </select>


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 31-08-2004 à 08:59:04    

etrevilly a écrit :

Lut tout le monde,
 
Petit pb à mon avis pas trop méchant :
 
Je crée un select et je voudrais affecter le selected après avoir initialiser les options (sinon je suis obligé de faire des test dans des boucles for et c'est un peu moche).
Merci a tous.


 
C'est pas clair, reformule la question.

Reply

Marsh Posté le 31-08-2004 à 09:08:57    

En fait le select y pas de pb il marche.
 
Mon problème c'est de savoir si on peut affecter un selected a une option qui a déjà été définie.
 
Tu a raison mon exemple n'est pas correcte il faut remplacer l'affectation des option :

Code :
  1. echo '<option name='.$i.'.'.$j.' id='.$i.'.'.$j.' value='.$i.'.'.$j.'>'.$i.'.'.$j.'</option>';


par :

Code :
  1. echo '<option id='.$i.'.'.$j.' id='.$i.'.'.$j.' value='.$i.'.'.$j.'>'.$i.'.'.$j.'</option>';


 
Mais ce code c'est juste pour montrer le raisonement que je voudrait mettre ne place.
 
Le principe ce serait de définir toutes les options puis de déclarer en selected l'option qui nous intéresse. C'est pour ça que je leur affecte un id pour pouvoir la rappeler (c'est juste pour montrer le principe). Mais je pense qu'il y a une syntaxe qui permette ça pour qu'on soit pas obligé de déclarer le selected lors de la définition de l'option.
 
Je me suis relu ça a l'air plutot compréhensible  :sol:  (c'est bien une des premières fois  :sweat: ).

Reply

Marsh Posté le 31-08-2004 à 09:17:20    

etrevilly a écrit :


Le principe ce serait de définir toutes les options puis de déclarer en selected l'option qui nous intéresse. C'est pour ça que je leur affecte un id pour pouvoir la rappeler (c'est juste pour montrer le principe). Mais je pense qu'il y a une syntaxe qui permette ça pour qu'on soit pas obligé de déclarer le selected lors de la définition de l'option.


 
Dans ce cas là, il ne faut pas définir de selected="selected" (au fait, oui, c'est selected="selected" et non selected tout seul...). [:spamafote]
 
Et c'est le mec en cliquant qui sélectionnera. [:spamafote]
 
Je ne comprends toujours pas ce que tu veux dire...

Reply

Marsh Posté le 31-08-2004 à 09:30:02    

:lol:

Hermes le Messager a écrit :


Je ne comprends toujours pas ce que tu veux dire...


 
En fait le principe c'est quand je rafraichi ma page je veut que mon select soit positionné sur un élément que j'aurais prédéfini. Pendant que je crée mes options je peut faire des tests (if) pour savoir si c'est l'option là qui m'intéresse ( mais c'est vraiement trop lourd de se taper des tests dans les boucles). Donc je veux créer tout mes options puis l'orsqu'ils sont tous définis je veux rappeler celui qui m'intéresse pour lui affecter le selected, ça me permet de faire q'un seul et unique test (ça s'appele de l'optimisation ...  :sol: ). Je pense qu'être plus clair va devenir très compliquer  :??:  
[citation](au fait, oui, c'est selected="selected" et non selected tout seul...)[/citation]
Et pourtant ça marche ... (merci d'avoir prévu un code spécial fénéant

Reply

Marsh Posté le 31-08-2004 à 09:54:07    

etrevilly a écrit :

:lol:  
 
En fait le principe c'est quand je rafraichi ma page je veut que mon select soit positionné sur un élément que j'aurais prédéfini. Pendant que je crée mes options je peut faire des tests (if) pour savoir si c'est l'option là qui m'intéresse ( mais c'est vraiement trop lourd de se taper des tests dans les boucles). Donc je veux créer tout mes options puis l'orsqu'ils sont tous définis je veux rappeler celui qui m'intéresse pour lui affecter le selected, ça me permet de faire q'un seul et unique test (ça s'appele de l'optimisation ...  :sol: ). Je pense qu'être plus clair va devenir très compliquer  :??:  
 
Et pourtant ça marche ... (merci d'avoir prévu un code spécial fénéant


 
Ok, et ben dans ce cas, je ne vois pas le problème, tu laisses tes options comme elles sont, puis tu coches via javascript au chargement de la page avec un body onload="fonction_coche();"
 
[:spamafote]
 

Reply

Marsh Posté le 31-08-2004 à 10:02:33    

Salut,
 
plutôt moche en javascript. Y a pas de pb à faire le test dans le for(). La question était claire.

Reply

Marsh Posté le 31-08-2004 à 10:03:46    

Niboubi a écrit :

Salut,
 
plutôt moche en javascript. Y a pas de pb à faire le test dans le for(). La question était claire.


 
Ben justement, apparemment, il ne veut pas faire ça (il a clairement tord mais bon...) ...  :D  
 
Pour tout afficher, ne rien tester et cocher le select en bout de course (ce qu'il veut faire), aucune autre solution que celle que j'ai proposé.
 

Reply

Marsh Posté le 31-08-2004 à 10:04:09    

ok ça y est je vois ce que tu veux dire.
 
Toi tu voudrait incorporer une fonction js (je suis entièrement d'accord avec toi c'est faisable) mais je partait du principe de trouver une syntaxe en php qui me permettrait de passer outre cette solution (Une des règles d'or : si tu peut éviter de mélanger php et js : n'hésite pas ... je pense que tu n'aura pas de pb à comprendre pourquoi).
 
Mais bon apparement ma solution ne semble pas être possible. Donc je vais voir si je prend ta soluce ou si je fait des tests (mes boucles for nr sont pas immenses)
 
Merci qd même
 
PS : Je ne désespère pas que quelqu'un me propose la soluce en php ...

Reply

Marsh Posté le 31-08-2004 à 10:04:09   

Reply

Marsh Posté le 31-08-2004 à 10:05:29    

[citation=837432,0,10][nom]etrevilly a écrit[/nom]ok ça y est je vois ce que tu veux dire.
 

Citation :

Toi tu voudrait incorporer une fonction js (je suis entièrement d'accord avec toi c'est faisable) mais je partait du principe de trouver une syntaxe en php qui me permettrait de passer outre cette solution (Une des règles d'or : si tu peut éviter de mélanger php et js : n'hésite pas ... je pense que tu n'aura pas de pb à comprendre pourquoi).


 
En effet, je passe mon temps à le répéter...
 

Citation :

Mais bon apparement ma solution ne semble pas être possible. Donc je vais voir si je prend ta soluce ou si je fait des tests (mes boucles for nr sont pas immenses)


 
Voilà, à toi de voir...
 
 

Citation :

PS : Je ne désespère pas que quelqu'un me propose la soluce en php ...


 
Tu peux désespérer tout de suite.  :o

Reply

Marsh Posté le 01-09-2004 à 10:06:53    

La solution la plus pertinente est de faire le test dans le for(). Etrevilly ton sujet est clos !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed