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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Multiselection select

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Multiselection select

n°590385
Shogun2002
Posté le 14-12-2003 à 13:54:27  profilanswer
 

Voilà j'ai un problème ...
 
Je génére dynamique une liste "select" multiple dont certains éléments sont préselectionné ...
 
Et j'aimerais que la liste ne s'affiche pas tout au début ...
C'est à dire que j'aimerais que la liste soit centrer (affiche) le dernier élement séléctionné dans la liste.

mood
Publicité
Posté le 14-12-2003 à 13:54:27  profilanswer
 

n°590450
Profil sup​primé
Posté le 14-12-2003 à 15:32:02  answer
 

vouaip ben faut tester si la variable est egale a la variable du select.
 
je te met un bout de script mùais j'ai la flemme de l'expliqué :D
j'espere que tu comprendra
 

Code :
  1. $SelectTV=mysql_query("select AddedBy, Address, Name, Subcat from bdb_forums where Validated='0'" );
  2.   $h=0;
  3.   while ($ShowToV=mysql_fetch_row($SelectTV))
  4.    {
  5.     $h++;
  6.     echo "<tr><td>Added by {$ShowToV[0]}</td>".
  7.     form("hidden", "h", $h).
  8.     "<td>".url($ShowToV[1], $ShowToV[2], "_blank", "" )."</td>".
  9.     form("hidden", "link$h", $ShowToV[1]).
  10.     "<td><select name=\"catsub$h\">";
  11.     //show all cat and select the actual one
  12.     $ShowAllCat=mysql_query("select Name, Category from bdb_subcat" );
  13.     while ($ShowCat=mysql_fetch_row($ShowAllCat))
  14.      {
  15.         if ($ShowToV[3]==$ShowCat[0])
  16.          $select="selected";
  17.         else $select="";
  18.         echo "<option $select>{$ShowCat[1]} -> {$ShowCat[0]}</option>";
  19.      }
  20.     echo "</select></td>".
  21.     "<td>".form("checkbox", "val[]", $h)."</td></tr>";
  22.    }


Message édité par Profil supprimé le 14-12-2003 à 15:32:29
n°590546
Shogun2002
Posté le 14-12-2003 à 17:57:17  profilanswer
 

Whoua du php ...
 
En fait, je vais mieux expliquer :
 
Voilà g une page avec une liste de multiséléction, dont certain élément sont séléctionné.
L'utilisateur clique sur la touche "Control" et rajoute d'autre "OPTION" à la séléction.
Et hop ! Il envoie le formulaire.
 
Mon problème vient de là :  
Quand il revient sur cette même page après avoir envoyer le formulaire, dans la liste de multiselection, il y a bien tout les éléments qu'il a voulu gardé de sélectionné (généré dynamiquement à partir des données du formulaires entre autres) MAIS la liste est centré sur le debut de la liste, l'index 0.
 
Ce que je veux c'est que la liste centre son affichage sur le dernier élément séléctionné de la liste par l'utilisateur et non revenir à l'index=0 de la liste.


Message édité par Shogun2002 le 14-12-2003 à 17:58:53
n°590550
simogeo
j'ai jamais tué de chats, ...
Posté le 14-12-2003 à 18:00:58  profilanswer
 

je ne vois pas trop ce que tu entend pas "centrer" .....
 
du reste .. tes données proviennent d'ou ? un tableau ? .....alors lis le a l'envers


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°590667
Shogun2002
Posté le 14-12-2003 à 19:47:07  profilanswer
 

Un exemple je génére dynamique une liste en html du type

Code :
  1. <select size=4>
  2. <option selected>1</option>
  3. <option selected>2</option>
  4. <option>3</option>
  5. <option selected>4</option>
  6. <option>5</option>
  7. <option>6</option>
  8. <option selected>7</option>
  9. </select>


 
Remarquez bien que la taille est de 4, donc quand la page est générer on voit les 4 premiers éléments.
 
Disons que l'utilisateur rajoute dans la séléction la valeur 6 : on auras de générer :

Code :
  1. <select size=4>
  2. <option selected>1</option>
  3. <option selected>2</option>
  4. <option>3</option>
  5. <option selected>4</option>
  6. <option>5</option>
  7. <option selected>6</option>
  8. <option selected>7</option>
  9. </select>


 
MAIS lors du rechargement de la page, il faudra que l'utilisateur utilise le scrollbar de la liste pour constater que l'élément 6 a bien été sélectionné.
 
Moi je veux que la liste affiche (se positionne) sur la valeur 6, que l'utilisateur n'utilise pas la scrollbar.
 
NB :Les éléments séléctionné sont stocké dans un objet en Java


Message édité par Shogun2002 le 14-12-2003 à 19:47:33
n°590876
Shogun2002
Posté le 15-12-2003 à 09:18:12  profilanswer
 

Personne qui peut m'aider ?

n°591119
Shogun2002
Posté le 15-12-2003 à 14:03:18  profilanswer
 

Personne ne sait ?

n°591126
simogeo
j'ai jamais tué de chats, ...
Posté le 15-12-2003 à 14:09:51  profilanswer
 

visiblement non :/ .....
 
tu peux pas le faire en format texte a côté ... genre .  
"Derniere sélection : 6"


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°591171
Shogun2002
Posté le 15-12-2003 à 15:09:12  profilanswer
 

Il existe rien en javascript qui permet de positionner le scrollbar de la liste ?

n°591184
Azzazel
Posté le 15-12-2003 à 15:31:03  profilanswer
 

si : document.tonformulaire.elements[0].selectedIndex = tonindex

mood
Publicité
Posté le 15-12-2003 à 15:31:03  profilanswer
 

n°591194
Shogun2002
Posté le 15-12-2003 à 15:44:11  profilanswer
 

ouai ... ça va pas interferer avec les péselections ?
Ou il faut aussi que je reppasse "une couche" en javascript pour aussi selectionner les préselections ?

n°591205
Azzazel
Posté le 15-12-2003 à 16:04:12  profilanswer
 

je ne pense pas ... c'est du multiple donc ça devrait fonctionner ... mais bon j'ai pas testé =)

n°591549
Shogun2002
Posté le 16-12-2003 à 07:43:18  profilanswer
 

Ok je testerai ça ;)

n°592352
KrisCool
“Verbeux„
Posté le 17-12-2003 à 10:37:26  profilanswer
 

Je ne sais pas si le respect des standards est une contrainte ou pas pour le site sur lequel tu travailles, mais utiliser selected="selected" est préférable à selected utilisé seul, qui est déprécié.

n°638007
Mazda3
Posté le 10-02-2004 à 20:31:08  profilanswer
 

Bon j'ai testé cela ne marche pas ... Voici le code :
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <title>Document sans titre</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. </head>
  7. <body>
  8. <form name=formulaire>
  9. <SELECT MULTIPLE name="liste" size=3>
  10.   <OPTION value="valeur ligne 1" selected>Libellé ligne 1</OPTION>
  11.   <OPTION value="valeur ligne 2">Libellé ligne 2</OPTION>
  12.   <OPTION value="valeur ligne 3">Libellé ligne 3</OPTION>
  13.   <OPTION value="valeur ligne 4">Libellé ligne 4</OPTION>
  14.   <OPTION value="valeur ligne 5" selected>Libellé ligne 5</OPTION>
  15. </SELECT>
  16. </form>
  17. <script language="javascript">
  18. document.formulaire.elements['liste'].selectedIndex = 3
  19. </script>
  20. </body>
  21. </html>


 
Donc si qqun connait un moyen pour mettre le centrage de la liste sur un des elements sélectionnés ça serait sympa


Message édité par Mazda3 le 10-02-2004 à 20:31:25
n°638014
Hermes le ​Messager
Breton Quiétiste
Posté le 10-02-2004 à 20:33:23  profilanswer
 

Mazda3 a écrit :

Bon j'ai testé cela ne marche pas ... Voici le code :
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <title>Document sans titre</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. </head>
  7. <body>
  8. <form name=formulaire>
  9. <SELECT MULTIPLE name="liste" size=3>
  10.   <OPTION value="valeur ligne 1" selected>Libellé ligne 1</OPTION>
  11.   <OPTION value="valeur ligne 2">Libellé ligne 2</OPTION>
  12.   <OPTION value="valeur ligne 3">Libellé ligne 3</OPTION>
  13.   <OPTION value="valeur ligne 4">Libellé ligne 4</OPTION>
  14.   <OPTION value="valeur ligne 5" selected>Libellé ligne 5</OPTION>
  15. </SELECT>
  16. </form>
  17. <script language="javascript">
  18. document.formulaire.elements['liste'].selectedIndex = 3
  19. </script>
  20. </body>
  21. </html>


 
Donc si qqun connait un moyen pour mettre le centrage de la liste sur un des elements sélectionnés ça serait sympa


 
Il ne peut en rester qu'un (selected).  [:totozzz]  
 
Donc NON, ce n'est pas possible.

n°638029
Mazda3
Posté le 10-02-2004 à 20:38:12  profilanswer
 

Rebonjour Hermes !
 
Mais c pas chouette ça !
 
Tu aurais une idée qui permet de remedier à ce pb, javascript, CSS, ou autre ...
 
Le seule idée que j'ai , c'est d'adapter la taille de la liste avec le nombre d'element, mais sur ceratine liste je risque d'avoir une vingtaine d'elements, ça fait big sur une page html


Message édité par Mazda3 le 10-02-2004 à 20:49:59
n°638056
Hermes le ​Messager
Breton Quiétiste
Posté le 10-02-2004 à 21:07:21  profilanswer
 

Tu peux avoir UN SEUL élément sélectionné au départ avec un selected, ça c'est sûr. Si tu n'as besoin que d'un seul élément préselectionné, tout va bien.
 
Si tu as besoin de PLUSIEURS éléments préselectionnés, c'est bcp plus critique.
Une possibilité est de faire un textarea avec un contenu généré VIA javascript et tes éléments préselectionnés.

n°638461
Mazda3
Posté le 11-02-2004 à 08:31:10  profilanswer
 

Un textarea ????
 
Comment ça passe pour la seléction d'une ligne ?
Et le mettre en selection dans la textarea ?
 
Et on agit sur quel evenement ? onChange ?


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

  Multiselection select

 

Sujets relatifs
different format de texte dans un select[MySQL] fonctionnement de SELECT IN...
[JS] Remplir un select avec le contenu d'un Array[ASP/SQL] probleme de Select. [Rezolu]
problème avec un selectRecherche automatique dans Select
[HTML/JS] Selection auto dans un select dynamiquesql : plusieurs fois le meme champ dans un select ?
select multiple et valueselect que l'on ouvre en cliquant sur une icone et qui modifi l'icone
Plus de sujets relatifs à : Multiselection select


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