Avatar billede sorensen_123 Nybegynder
27. april 2007 - 09:48 Der er 5 kommentarer og
2 løsninger

Hjælp til Select box.

Hejsa,

Lige nu har jeg en masse link, hvor man trykker på, og så udfører den en javascript funktion.

F.eks.:
<a href="java script:soegGoogle();">Google.dk</a>

Den henviser så til funktionen:
    function soegGoogle() {
    document.getElementById('livesoeg').style.display = 'none';
    document.getElementById('jubiisoeg').style.display = 'none';
    document.getElementById('yahoosoeg').style.display = 'none';
    document.getElementById('altavistasoeg').style.display = 'none';
    document.getElementById('kraksoeg').style.display = 'none';
    document.getElementById('googlesoeg').style.display = 'block';
}

Men nu vil jeg have sådan, at man kan vælge på en select box istedet, og så udfører den en handling.

f.eks. ser tekstboksen sådan her ud:
<select>
<option>Google.dk</option>
<option>Live.dk</option>
</select>

Når man så klikker på live, skal den køre funktionen soegLive(); osv.

Har prøvet med onFocus, men uden resultat.

Sådan her ser hele min select boks ud:
<select>
    <option>Google</option>
    <option>Live</option>
    <option>Jubii</option>
    <option>Yahoo</option>
    <option>Altavista</option>
    <option>Krak</option>
</select>

Og her er alle mine javascript funktioner:
<script type="text/javascript">
   
    function soegLive() {
    document.getElementById('googlesoeg').style.display = 'none';
    document.getElementById('jubiisoeg').style.display = 'none';
    document.getElementById('yahoosoeg').style.display = 'none';
    document.getElementById('altavistasoeg').style.display = 'none';
    document.getElementById('kraksoeg').style.display = 'none';
    document.getElementById('livesoeg').style.display = 'block';
}

    function soegGoogle() {
    document.getElementById('livesoeg').style.display = 'none';
    document.getElementById('jubiisoeg').style.display = 'none';
    document.getElementById('yahoosoeg').style.display = 'none';
    document.getElementById('altavistasoeg').style.display = 'none';
    document.getElementById('kraksoeg').style.display = 'none';
    document.getElementById('googlesoeg').style.display = 'block';
}

    function soegJubii() {
    document.getElementById('livesoeg').style.display = 'none';
    document.getElementById('googlesoeg').style.display = 'none';
    document.getElementById('yahoosoeg').style.display = 'none';
    document.getElementById('altavistasoeg').style.display = 'none';
    document.getElementById('kraksoeg').style.display = 'none';
    document.getElementById('jubiisoeg').style.display = 'block';
}

    function soegYahoo() {
    document.getElementById('livesoeg').style.display = 'none';
    document.getElementById('googlesoeg').style.display = 'none';
    document.getElementById('jubiisoeg').style.display = 'none';
    document.getElementById('altavistasoeg').style.display = 'none';
    document.getElementById('kraksoeg').style.display = 'none';
    document.getElementById('yahoosoeg').style.display = 'block';
}

    function soegAltavista() {
    document.getElementById('livesoeg').style.display = 'none';
    document.getElementById('googlesoeg').style.display = 'none';
    document.getElementById('jubiisoeg').style.display = 'none';
    document.getElementById('yahoosoeg').style.display = 'none';
    document.getElementById('kraksoeg').style.display = 'none';
    document.getElementById('altavistasoeg').style.display = 'block';
}

    function soegKrak() {
    document.getElementById('livesoeg').style.display = 'none';
    document.getElementById('googlesoeg').style.display = 'none';
    document.getElementById('jubiisoeg').style.display = 'none';
    document.getElementById('yahoosoeg').style.display = 'none';
    document.getElementById('altavistasoeg').style.display = 'none';
    document.getElementById('kraksoeg').style.display = 'block';
}
</script>

Nogen der kan lave det til mig?

150 points! På forhånd tak.
Avatar billede roenving Novice
27. april 2007 - 10:14 #1
-- det kan laves adskilligt simplere, et øjeblik !-)
Avatar billede roenving Novice
27. april 2007 - 10:25 #2
F.eks.

<select onchange="showSoeg(this);">
    <option>Vælg søgning</option>
    <option value="google">Google</option>
    <option value="live">Live</option>
    <option value="jubii">Jubii</option>
    <option value="yahoo">Yahoo</option>
    <option value="altavista">Altavista</option>
    <option value="krak">Krak</option>
</select>

<script type="text/javascript">
function showSoeg(sel){
  var divs = document.getElementsByTagName("div");
  for(i=0,im=divs.length;im>i;i++){
    if(divs[i].id.match(/soeg$/))
      divs[i].style.display = "none";
  }
  if(sel.selectedIndex>0)
    document.getElementById(sel.value+"soeg").style.display = "block";
}
</script>

<div id="googlesoeg" style="display:none;">Google-søgning</div>
<div id="livesoeg" style="display:none;">Live-søgning</div>
<div id="jubiisoeg" style="display:none;">Jubii-søgning</div>
<div id="yahoosoeg" style="display:none;">Yahoo-søgning</div>
<div id="altavistasoeg" style="display:none;">Altavista-søgning</div>
<div id="kraksoeg" style="display:none;">Krak-søgning</div>
Avatar billede sorensen_123 Nybegynder
27. april 2007 - 10:57 #3
Hej Roenving!

Det virker perfekt! Tak!

Smid svar ;)
Avatar billede roenving Novice
27. april 2007 - 11:35 #4
Som du kan se på den tid, det tog, er det måske ikke lige 150 point (2½ gange så svært som svært !-), så behold selv de fleste !o]

-- bemærk også, at jeg udvælger de relevante div-elementer ved at kigge efter, om deres id ender på 'soeg', det kan sandsynligvis laves bedre, bl.a. for ikke at skulle bladre en hulens masse elementer igennem, når man skal finde de forskellige søgeformularer, og også undgå, at du tilfældigvis har andre elementer, end de relevante, hvis id også ender på 'soeg' !-)

-- els velbekomme '-)
Avatar billede sorensen_123 Nybegynder
27. april 2007 - 11:59 #5
Så tager jeg også nogen af pointsne.. Denne gang, måske lidt mere lige fordelt ;)
Avatar billede sorensen_123 Nybegynder
27. april 2007 - 11:59 #6
Og tak for hjælpen. Vil lige kigge på, om jeg kan modificere scriptet lidt :)
Avatar billede roenving Novice
27. april 2007 - 12:12 #7
U'r welcome ...

-- og jeg takker for point ;~}
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