Voir l'élément sélectionner d'une zone de liste non déroulante

[Résolu]
Signaler
Messages postés
149
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
24 novembre 2010
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour,

Je vais essayer d'expliquer ce que je souhaite à l'aide d'un exemple :

J'ai une zone de liste non déroulante qui affiche 20 lignes. Cette zone de liste contient 39 lignes.
Grace à un bout de code, je détermine une ligne particulière à sélectionner et le la sélectionne.

Tout cela marche très bien, MAIS si la ligne sélectionnée se trouve en dehors de la plage affichée, la zone de liste ne se déplace pas pour montrer la ligne sélectionner.

Par exemple, la zone de liste affiche les lignes 1 à 20 à l'écran, les 19 autres étant accessibles grace à l'ascenseur de la zone de liste, mon calcul détermine que je dois sélectionner la ligne 25, ce qui fonctionne bien, mais je dois faire défiler l'ascenseur jusqu'à la ligne 25 pour voir qu'effectivement la ligne est sélectionnée.

Ma question est donc la suivante, est-il possible via php ou javascript de force le déplacement de l'ascenseur jusqu'à ce qu'il montre la ligne sélectionnée ?

Merci d'avance pour votre aide !!

"la vitesse de la lumière est supérieure à celle du son, c'est pourquoi un imbécile parait intelligent jusqu'a ce qu'il parle !!"

5 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
c'est donc bien ce qu'on appelle une "liste déroulante"
la balise select, donc. ( combobox, listbox... n'existent
   ni en html, ni en php, ni javascript... en VB, par exemple, 
   certes )

<select id="sel">
 <option>un
 <option>deux
 <option>trois
 <option>quatre
</select>
<Script type="Text/JavaScript">
 document.getElementById("sel").selectedIndex=2; // sélectionne la 3ème ligne
</Script>

scrolltop s'appliquerait à une table, des ul/li... dans un div,un span
ce que propose PetOleteam est, bien entendu, correct.

<hr />
               Cordialement       Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,
   jouer avec le scrollTop de l'objet qui contient cette liste.
<hr />
               Cordialement             Bul          [mon Site]    [M'écrire]
<hr />
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
B
onjour à tous...
mets un ID aux OPTIONs et un événemént sur le BODY

exemple
//---------------------------
function Select_Option( num_){
  var Obj = document.getElementById('OPT_10');
  if( Obj)
    Obj.selected= true;
  return;
}

Mais ai je bien compris...
;0)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
salut PetOleteam,
   par "liste non déroulante", moi j'ai compris : 
      ce n'est pas un select, mais : vas savoir...
<hr />
                     Cordialement             Bul          [mon Site]       [M'écrire]
<hr />
Messages postés
149
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
24 novembre 2010
2
bonjour,

bultez : C'est bien un select, ce n'est juste pas un combobox mais un listbox

petoleteam : je ne cherche pas à sélectionner un élément dans une zone de liste, ca j'y arrive, je veux juste que quand je fais se sélectionner un élément plus bas dans la liste, la liste scroll jusqu'à ce qu'il soit clairement visible.

C'est pourquoi je pense que le scrolltop dont parle bultez est ma solution, je n'arrive pas à l'appliquer à mon cas... en effet je ne sais pas dans quel evenement gerer ca...

je parcours le résultat d'une requete et quand une condition spécifique est rencontrée (une correspondance de date pour être précis) je sélectionne la ligne qui va s'ajouter, puis le reste de ma liste s'ajoute tranquillement...

je pense que c'est sur ce test que je fais et où je fais ou pas se sélectionner la ligne que je dois jouer que le scrolltop mais je ne sais pas comment l'utiliser.

pour info je n'ai jamais utiliser de javascript jusque là, je me contentais (pour le moment avec succès) du PHP

encore merci pour votre aide !

"la vitesse de la lumière est supérieure à celle du son, c'est pourquoi un imbécile parait intelligent jusqu'a ce qu'il parle !!"