Tito: Select Option beibehalten

Hey, will mir ne Navigation mit ner Select Option bauen. Habs bisher folgendes:

<form>
<select onChange="if(this.selectedIndex!=0) self.location=this.options[this.selectedIndex].value">
<option value="" selected>Kategorie
<option value="index.html">Index
<option value="2.html">Numbers
</select>
</form>

Jetzt ist es nur so das die Selection nach klicken eines Links direkt wie auf Kategorie springt. Wie kann ich es machen das die Selection den Namen der aktuellen Seite anzeigt? schonmal danke =)

  1. Hi!

    Hey, will mir ne Navigation mit ner Select Option bauen.

    Für so wichtige Dinge wie eine Navigation zwingend JS vorauszusetzen ist imho keine gute Idee.

    Habs bisher folgendes:

    <form>
    <select onChange="if(this.selectedIndex!=0) self.location=this.options[this.selectedIndex].value">
    <option value="" selected>Kategorie
    <option value="index.html">Index
    <option value="2.html">Numbers
    </select>
    </form>

    Jetzt ist es nur so das die Selection nach klicken eines Links direkt wie auf Kategorie springt.

    Ist ja kein Wunder aufgrund von:

      
    <option value="" selected>  
    
    

    Wie kann ich es machen das die Selection den Namen der aktuellen Seite anzeigt? schonmal danke =)

    Eine Möglichkeit wäre z.B. auf jeder Seite ein Element zu haben, aus dessen ID der Seitenname eindeutig hervorgeht und dann das selected Attribut bei der jeweiligen Option zu setzen.

    Ich würde hier aber eine serverseitige Variante (bspw. per PHP) eindeutig bevorzugen, da man dann u.a. auch nicht JS zwingend voraussetzen muss.

    Gruß Gunther

    1. Gibts dazu nen nützlichen Tipp oder Link? ;)
      Bin weder in Java noch PHP drin :-(

      1. Mahlzeit Tito,

        Gibts dazu nen nützlichen Tipp oder Link? ;)

        Sicher - sogar für http://de.selfhtml.org/javascript/objekte/location.htm#href@title=Javascript und http://de.selfhtml.org/http://de.php.net/manual/de/reserved.variables.server.php@title=PHP.

        Bin weder in Java noch PHP drin :-(

        Ersteres macht nichts, da es sich um Javascript handelt ... und generell gilt: dann eigne Dir die entsprechenden Grundlagen an. :-)

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. Wie dir schon Gunther gesagt hat, liegt es
    1tens am <option value="" selected>Kategorie
    2tens weil "Kategorie" die erste Option ist, die erste Opt. ist immer Standard-Auswahl.

    <option value="" selected>Kategorie
    <option value="index.html">Index
    <option value="2.html">Numbers

    Nich schön sowas, besser: "<option value="" selected="selected">Kategorie</option>

    Nimm folgende Funktion, baue Sie in deine Seite ein, und rufe "onload" auf.

      
    <body onload="initSelect(document.forms[0].NaviDir, document.forms[0].Navi.value);">  
    ...  
    <select id="NaviDir" name="NaviDir" onchange="if(this.selectedIndex!=0) self.location=this.options[this.selectedIndex].value">  
     <option value="" selected>Kategorie  
     <option value="index.html">Index  
     <option value="2.html">Numbers  
    </select>  
    ...  
    <input type="hidden" name="Navi" id="Navi" value="index.html" />  
    ...  
    </body>  
    
    
      
    function initSelect(OBJ, OPT) {  
     if(!OBJ || !OPT) return;  
      
     for(var i=0; i < OBJ.length; i++) {  
      if(OBJ.options[i].value == OPT) {  
       OBJ.selectedIndex = i;  
       break;  
      }  
     }  
    }