Focus sur selectedindex dans une liste longue d'Option [Résolu]

Signaler
Messages postés
8
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
28 août 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour,

J'ai un formulaire avec un SELECT multiple qui affiche 15 lignes
quand on lance le formulaire et qu'un enregistrement est selectionné si il est au delà des 15 premieres lignes et bien on ne le voit pas

Je voudrais trouver un truc pour que ça face un focus sur l'enregistrement selectionné. Ou choisir un enregistrement que je veux et qu'on le vois à l'écran et pas en faisant un scroll avec la souris

Je poste très rarement sur les forums car d'hab je trouve toujours mais là choux blanc pour le moment

exemple :

<form name="FORM_RECHERCHE" >
<SELECT multiple NAME="RECHERCHE_ID" SIZE=15 ondblclick="javascript:submit()" >
<OPTION VALUE="1" >Libelle</OPTION>
<OPTION VALUE="2" >Libelle</OPTION>
<OPTION VALUE="3" >Libelle</OPTION>
<OPTION VALUE="4" >Libelle</OPTION>
<OPTION VALUE="5" >Libelle</OPTION>
<OPTION VALUE="6" >Libelle</OPTION>
<OPTION VALUE="7" >Libelle</OPTION>
<OPTION VALUE="8" >Libelle</OPTION>
<OPTION VALUE="9" >Libelle</OPTION>
<OPTION VALUE="10" >Libelle</OPTION>
<OPTION VALUE="11" >Libelle</OPTION>
<OPTION VALUE="12" >Libelle</OPTION>
<OPTION VALUE="13" >Libelle</OPTION>
<OPTION VALUE="14" >Libelle</OPTION>
<OPTION VALUE="15" >Libelle</OPTION>
<OPTION VALUE="16" selected>Libelle</OPTION>
<OPTION VALUE="17" >Libelle</OPTION>
</SELECT>
</form>

et je voudrais que la ligne 16 soit apparente au chargement du formulaire

Merci

hball

15 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
le problème n'est pas de sélectionner une
option jdmcreator, mais qu'on voit celle
qui l'est, même si :
-la taille du select=10,
-le nombre d'option = 2000,
-l'option sélectionnée = 1234
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
Bonjour,

>>Je poste très rarement sur les forums
ça aide souvent beuacoup
ça va souvent plus vite
ça donne d'autres vues, idées, approches...

>>...je voudrais que la ligne 16...
vous voudriez qu'on voit toutes les options sélectionnées ?
je ne vois qu'adapter le size
au n° maxi de l'option sélectionnée

et si on veut "limiter"
mettre le n° mini en tête de la liste
et le size= maxi-mini

mais probablement pas compris la question !

Cordialement [mon Site] [M'écrire] Bul
Messages postés
8
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
28 août 2009

non effectivement ce n'est pas cela que j'ai voulu dire.

Sauf qu'en réalité j'ai plus de 2000 enregistrements
et je serais heureux si il y en a au moins un en selected, ben que je puisse le voir sans me taper tout le scroll

hball
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
faire que l'option sélectionnée soit visible quoi...
ch'tiot exemple :

<html>
<head>
<script type='text/javascript'>
function selectedvisible(index)
{ if( index < Obj.options.length )
{ if(index+Obj.size<Obj.options.length)
{ Obj.selectedIndex=index+Obj.size;
Obj.selectedIndex=index;
}
else { Obj.selectedIndex=Obj.options.length-Obj.size;
Obj.selectedIndex=index;
}
}
}
</script>
</head>

<select id='sel' size=10 >
<script type='text/javascript'>
for( var i=0; i<2000; i++ )
{ document.write("<option>"+i+"</option>"); }
</script>
</select>
<script type="text/javascript">
var Obj=document.getElementById('sel');
Obj.selectedIndex=Math.floor(Math.random()*Obj.length); // pour l'exemple !
for ( var l=Obj.length-1; l>=0; l-- ) // on fait semblant de
{ if ( Obj.options[l].selected ) // ne pas connaître
{ selectedvisible(l); // l'option sélectionnée et
break; // on la recherche
}
}
</script>

</html>


choix de l'option au hasard pour l'exemple
Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
5
En HTML simple, il existe ceci :

<select>
<option>2</option>
<option selected>1</option>
<option>3</option>
</select>

Mais je crois que cette astuce n'est pas très connu vu le nombre de script qui mette le focus sur un <select> en javascript et au chargement de la page ;)

Cordialement,

JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
j'oubliais de dire, bien entendu,
si ...
mais je ne sais plus dans cas c'est nécessaire !!!????
tu me troubles jdmcreator !
c'est sûr que selected le fait,
mais pas en toutes circonstances
me semble-t-il ?
Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
5
Pour moi ça l'a toujours marché...

Je te trouble ??? Pourquoi ?

JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
une tournure de phrase !
je sais, "comme tout le monde", que selected fonctionne
et v'la t'y pas que j'ai un javascript
pour faire... je ne sais plus quoi du coup !
Alzheimer me guette, ou alors c'est l'alcool...
Messages postés
647
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
5
J'ai pas toute compris '^^ (accent québécois responsable :P) mais si le <select> n'est pas généré dynamiquement, on devrait utilisé selected. S'il l'est, on devrait utilisé ton code

JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>J'ai pas toute compris
t'inquiète jdmcretaor,
je ne me comprend moi même que rarement ;o)
je ne sais jamais si c'est du 2ème degré
( voire plus ) ou pas ;o)

>>on devrait utilisé selected.
t'as raison, de toutes manières c'est le mieux

>>si le <select> n'est pas généré dynamiquement,
bah... même pas sur !
select.selectedIndex=n° ligne désirée
et ça baigne

mais bonf... comme le questionneur
semble être parti ailleurs,
ça ne doit plus l'intéresser.
Messages postés
8
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
28 août 2009

Merci Bul3

Je vais tester ta solution...demain

J'étais sur d'autres prog et je me connecte pas tous les jours, je suis normalement en vacances


hball
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
essayez aussi le selected proposé par jdmcreator
c'est quand même nettement plus simple, c'est
un doux euphémisme.
Messages postés
8
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
28 août 2009

option selected ne fonctionne pas dans le cadre d'un select multiple

c'est ce que je fais en temps normal

hball
Messages postés
8
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
28 août 2009

Bon je vais re essayer le script plus tard, il y a pas mal d'adaptation et de test a faire, car pour le moment ça marche pas, mais c'est une bonne piste de départ


hball
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>pour le moment ça marche pas,
euh... c'est probablement votre adaptation
qui ne fonctionne pas ! non ?
mon exemple fonctionne, lui ! non ?

>>option selected ne fonctionne pas dans
>>le cadre d'un select multiple
ah ? c'est sûr ? voilà alors pourquoi
j'avais ce script qui faisait cela !