Focus sur selectedindex dans une liste longue d'Option

Résolu
hball Messages postés 8 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 28 août 2009 - 22 août 2009 à 14:30
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 28 août 2009 à 11:01
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

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
24 août 2009 à 16:06
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
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
22 août 2009 à 14:58
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
0
hball Messages postés 8 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 28 août 2009
23 août 2009 à 00:32
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 août 2009 à 10:30
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
24 août 2009 à 16:01
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
24 août 2009 à 16:32
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 ?
0
jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
24 août 2009 à 19:30
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
25 août 2009 à 08:26
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...
0
jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
26 août 2009 à 13:54
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
26 août 2009 à 14:05
>>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.
0
hball Messages postés 8 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 28 août 2009
27 août 2009 à 03:15
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
27 août 2009 à 07:05
essayez aussi le selected proposé par jdmcreator
c'est quand même nettement plus simple, c'est
un doux euphémisme.
0
hball Messages postés 8 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 28 août 2009
28 août 2009 à 10:22
option selected ne fonctionne pas dans le cadre d'un select multiple

c'est ce que je fais en temps normal

hball
0
hball Messages postés 8 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 28 août 2009
28 août 2009 à 10:44
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
28 août 2009 à 11:01
>>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 !
0
Rejoignez-nous