Avatar billede eksperten1 Nybegynder
20. juli 2004 - 10:50 Der er 6 kommentarer og
1 løsning

Hjælp til ændring i JS funktion

Jeg har nedenstående funktion, den fungerer sådan at den skifter en select enten tilbage eller frem og opdaterer noget indhold i en iframe.

function fremTilbage(sel,dir){
  idx = sel.selectedIndex + dir;
  if(idx<0||idx>=sel.length)return;
  sel.options[idx].selected = true;
  sel.selectedIndex = idx;
  document.layout.location="pflayout.asp?uid="+sel.options[sel.selectedIndex].value;
}

Det jeg egrne vil ændre er at hvis select står i første option og brugeren trykker på tilbage (-1) så skifter select til den sidste option i listen, tilsvarende med frem (1) hvis select står i den sidste option, skal den skifte til den første option.

Jeg har forsøgt mig frem med diverse ændringer, men uden held.

Er der en der er hurtig p åaftækkeren, selv her i en ferietid ?

mvh Mark
Avatar billede grunken Nybegynder
20. juli 2004 - 11:21 #1
Sådan her ? :o)

<script type="text/javascript">
function fremTilbage(sel,dir){
idx = ((sel.selectedIndex+dir)<0)?sel.options.length-1:sel.selectedIndex+dir;
idx = (idx==sel.options.length)?0:idx;
sel.options[idx].selected = true;
sel.selectedIndex = idx;
document.layout.location="pflayout.asp?uid="+sel.options[sel.selectedIndex].value;
}
</script>
Avatar billede eksperten1 Nybegynder
20. juli 2004 - 11:23 #2
Perfekt ! :)

Smider du et svar ?
Avatar billede eksperten1 Nybegynder
20. juli 2004 - 11:29 #3
Kan du evt. også hjælpe mig med at lave en funktion, sådan at den ovenstående funktion kan kaldes ved at trykke på nogle taster ?

Ex: Alt + Arrow Left = fremTilbage(-1)
Alt + Arrow Right = fremTilbage(1)

Skal jeg evt. oprette et nyt spm ?

Tak igen

Hilsen Mark
Avatar billede grunken Nybegynder
20. juli 2004 - 12:12 #4
Sorry for ventetide - telefonen kaldte :o)

Omtrent sådan her :o)

<script type="text/javascript">
function fremTilbage(sel,dir){
idx = ((sel.selectedIndex+dir)<0)?sel.options.length-1:sel.selectedIndex+dir;
idx = (idx==sel.options.length)?0:idx;
sel.options[idx].selected = true;
sel.selectedIndex = idx;
document.layout.location="pflayout.asp?uid="+sel.options[sel.selectedIndex].value;
}

function tast(e){
k = (e.keyCode)?e.keyCode:e.which;
alt = (e.keyCode)?(e.altKey):(e.which==18)
if(alt && k==37)fremTilbage(-1);
if(alt && k==39)fremTilbage(1);
}

</script>

<body onkeydown="tast(event);">
...
</body>

-men ellers får du et svar, og velbekommer :o)
Avatar billede grunken Nybegynder
20. juli 2004 - 12:14 #5
...
Avatar billede eksperten1 Nybegynder
20. juli 2004 - 12:21 #6
Det er bare perfecto !!

Jeg havde lige fået en skift funktion til at fungere, men mange tak for indsatsen. :))
Avatar billede grunken Nybegynder
20. juli 2004 - 12:25 #7
det var da så lidt :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester