Avatar billede kapoou Nybegynder
22. juli 2004 - 12:49 Der er 6 kommentarer og
1 løsning

Synkronisering af selectbokse

Jeg har to selectbokse (eller list bokse som de måske hedder).

Jeg vil gerne have at når man markerer et objekt i boks 1 så bliver det tilsvarende (udfra deres index nr.) også markeret i boks 2.

Jeg har prøvet med følgende.

function checkSelected(fromList, toList)
{
        var objSource = document.getElementById( fromList );
        var objTarget = document.getElementById( toList );
        if( objSource.selectedIndex > -1 )
      {
            var objOption = objSource.options[ objSource.selectedIndex ].index;
            objTarget.options[objOption].selected=true;
       
      }
      }

men af en eller anden mærkelig grund bliver nummer 2 (altså den med index = 1) altid markeret.

Hvorfor?
Avatar billede roenving Novice
22. juli 2004 - 12:56 #1
function checkSelected(fromList, toList){
  var objSource = document.getElementById( fromList );
  var objTarget = document.getElementById( toList );
  if( objSource.selectedIndex > -1 ){
    objTarget.selectedIndex = objSource.selectedIndex;
  }
}
Avatar billede kapoou Nybegynder
22. juli 2004 - 13:09 #2
af en eller ande mærkelig grund vælger den nu hver gang den som har index 0
Avatar billede roenving Novice
22. juli 2004 - 13:16 #3
Tjah, der er to måder at sætte den viste på, så du kan evt. bruge begge:

function checkSelected(fromList, toList){
  var objSource = document.getElementById( fromList );
  var objTarget = document.getElementById( toList );
  if( objSource.selectedIndex > -1 ){
    objTarget.selectedIndex = objSource.selectedIndex;
    objTarget.options[objSource.selectedIndex].selected=true;
  }
}
Avatar billede kapoou Nybegynder
22. juli 2004 - 13:31 #4
Det funkede heller ikke, men jeg har selv løst problemet.

function checkSelected(fromList, toList)
{
        var objSource = document.getElementById( fromList );
        var objTarget = document.getElementById( toList );
        if( objSource.selectedIndex > -1 )
      {
            var objOption = objSource.options[ objSource.selectedIndex ].index;

            objTarget.options[objOption].selected=true;
                  }
     
    }
Avatar billede kapoou Nybegynder
22. juli 2004 - 13:31 #5
eller tak for hjælpen! (igen, hehe)
Avatar billede roenving Novice
22. juli 2004 - 13:35 #6
Var et linjeskift mere midt i koden nok ?-)

-- og grunden til at jeg gik en anden vej var, at jeg ikke kender index-propertyen, som jo også burde returnere selectedIndex !-)
Avatar billede kapoou Nybegynder
22. juli 2004 - 13:40 #7
Hehe det er da et meget godt spørgsmål. Måske er der flere ting der lige er faldet i hak. Men det ser da godt nok lidt mærkeligt ud!
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