Stuffi: Value zuweisen

Hallo,

habe folgenden Code:

<HTML>  
<HEAD>  
<TITLE>Navigation mit Auswahllisten – Teil 1</TITLE>  
<SCRIPT LANGUAGE="JavaScript"><!--  
function kategorie_anzeigen(){}  
function seite_laden(){}  
//--></SCRIPT>  
<SCRIPT LANGUAGE="JavaScript1.1"><!--  
// *** globale Variablen  
var urls = new Array(  
   new Array(""),  
   new Array("", "seite1-1.html", "seite1-2.html", "seite1-3.html"),  
   new Array("", "seite2-1.html", "seite2-2.html"),  
   new Array("", "seite3-1.html", "seite3-2.html", "seite3-3.html",  
 "seite3-4.html")  
)  
var beschriftung = new Array(  
   new Array("Bitte auswählen", ""),  
   new Array("Bitte auswählen", "Punkt 1.1", "Punkt 1.2",  
     "Punkt 1.3"),  
   new Array("Bitte auswählen", "Punkt 2.1", "Punkt 2.2"),  
   new Array("Bitte auswählen", "Punkt 3.1", "Punkt 3.2",  
     "Punkt 3.3", "Punkt 3.4")  
)  
// *** Ende der globalen Variablen  
function kategorie_anzeigen(f){  
   var kategorie = f.kategorien.selectedIndex  
   f.unterpunkte.options.length=0  
   for (var i=0; i<urls[kategorie].length; i++)  
      f.unterpunkte.options[i] =  
        new Option((beschriftung[kategorie])[i], "")  
}  
function seite_laden(f){  
   var kategorie = f.kategorien.selectedIndex  
   var unterpunkt = f.unterpunkte.selectedIndex  
}  
//--></SCRIPT>  
</HEAD>  
<BODY>  
<H3>Navigation mit Auswahllisten</H3>  
<FORM>  
<SELECT NAME="kategorien" onChange="kategorie_anzeigen(this.form)">  
 <OPTION>Bitte auswählen</OPTION>  
 <OPTION>Kategorie 1</OPTION>  
 <OPTION>Kategorie 2</OPTION>  
 <OPTION>Kategorie 3</OPTION>  
</SELECT>  
<SELECT NAME="unterpunkte" onChange="seite_laden(this.form)">  
 <OPTION>Bitte auswählen</OPTION>  
</SELECT>  
</FORM>  
</BODY>  
</HTML>

Bei Auswahl einer Kategorie werden im zweiten Auswahlfenster die Unterpunkte angelegt.
Nun meine Frage:
Wie implementiere ich, dass den <OPTION> auch Werte (value) zugewiesen werden?

Stuffi

  1. new Option((beschriftung[kategorie])[i], "")

    Wie implementiere ich, dass den <OPTION> auch Werte (value) zugewiesen werden?

    Indem du keinen leeren String als zweiten Parameter an new Option() übergibst, sondern die URL:

    »new Option() kennt vier Parameter von denen die drei letzten Parameter optional sind.
    1. text = angezeigter Text in der Liste
    2. value = zu übertragender Wert der Liste (optional) ...«

    http://de.selfhtml.org/javascript/objekte/options.htm#neue_elemente

    Mathias

  2. Hi,

    habe folgenden Code:

    der zahlreiche Formfehler enthält.

    <HTML>

    DOCTYPE fehlt. Und HTML-Tags und Attribute werden normalerweise klein geschrieben (in XHTML Pflicht, in HTML eine Empfehlung).

    <SCRIPT LANGUAGE="JavaScript"><!--

    Das type-Attribut fehlt, es ist vorgeschrieben; das language-Attribut ist dafür ein Fall für die Tonne. Das HTML-Kommentarzeichen im Script-Block übrigens auch.

    function kategorie_anzeigen(){}
    function seite_laden(){}
    //--></SCRIPT>
    <SCRIPT LANGUAGE="JavaScript1.1"><!--

    Hast du einen besonderen Grund, den Script-Block zu beenden, um sofort einen neuen aufzumachen?

    <BODY>
    <H3>Navigation mit Auswahllisten</H3>

    Huch? Wo sind die anderen beiden Überschriften-Ebenen?

    <FORM>

    Mindestens das action-Attribut fehlt.

    <SELECT NAME="kategorien" onChange="kategorie_anzeigen(this.form)">

    Auch der Name des Eventhandlers onchange gehört in Kleinschrift.

    Wie implementiere ich, dass den <OPTION> auch Werte (value) zugewiesen werden?

    Indem du jeweils ein value-Attribut im option-Element notierst oder eine value-Eigenschaft mit Javascript anlegst. Defaultwert für value (wenn es nicht angegeben ist) ist übrigens der Inhalt der option-Elemente.

    So long,
     Martin

    --
    Drei Sachen vergesse ich immer wieder: Telefonnummern, Geburtstage und ... äääh ...