Stefan: JS-onChange-function

hi!

Kann mir wer sagen was hier falsch is, ich finds einfach nicht :-(

  
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">  
<html>  
<head>  
  
<script language="javascript" type="text/javascript">  
<!--  
  function showHide(elementID) {  
    var desc = null;  
  
    if (document.getElementById) {  
      desc = document.getElementById("cnt_desc_" + elementID);  
    } else if (document.all) {  
      desc = document.all["cnt_desc_" + elementID];  
    } else if (document.layers) {  
      desc = document.layers["cnt_desc_" + elementID];  
    }  
  
    if (desc) {  
      if (desc.style.display == 'none') {  
        expand(elementID);  
      } else {  
        collapse(elementID);  
      }  
    }  
  }  
  
  function expand(elementID) {  
    var desc = null;  
  
    if (document.getElementById) {  
      desc = document.getElementById("cnt_desc_" + elementID);  
    } else if (document.all) {  
      desc = document.all["cnt_desc_" + elementID];  
    } else if (document.layers) {  
      desc = document.layers["cnt_desc_" + elementID];  
    }  
  
    if (desc.style.display == 'none') {  
      desc.style.display = 'block';  
    }  
  }  
  
  function collapse(elementID) {  
    var desc = null;  
  
    if (document.getElementById) {  
      desc = document.getElementById("cnt_desc_" + elementID);  
    } else if (document.all) {  
      desc = document.all["cnt_desc_" + elementID];  
    } else if (document.layers) {  
      desc = document.layers["cnt_desc_" + elementID];  
    }  
  
    if (desc.style.display != 'none') {  
      desc.style.display = 'none';  
    }  
  }  
  function collapseAll() {  
    var cnt = null;  
  
     for (var i=0; i<3; i++) {  
       collapse(i);  
      }  
    }  
  
  function switchSort(sortNr) {  
     document.write('dfsfddsfd');  
     collapseAll();  
     if (sortNr=="1") { showHide('1');}  
     if (sortNr=="2") { showHide('2');}  
     if (sortNr=="3") { showHide('3');}  
  }  
  
//-->  
</script>  
</head>  
<body>  
  
<select name="id[1]">  
   <option value="1" onChange="switchSort(this.value)" >Wahl 1</option>  
   <option value="2" onChange="switchSort(this.value)" >Wahl 2</option>  
   <option value="3" onChange="switchSort(this.value)" >Wahl 3</option>  
</select>  
  
<div id="cnt_desc_1" align="left">  
    blablabla  
</div>  
</body>  
</html>  

VIELEN; VIELEN DANK!
Stefan

  1. hi,

    Kann mir wer sagen was hier falsch is,

    Wie du in den Tipps für Fragende nachlesen kannst, solltest _du_ uns sagen, was deiner Meinung nach falsch läuft, aber -

    ich finds einfach nicht :-(

    ich find's in deinem ganzen Posting nicht.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Sry, aber genau das weiß ich ja nicht, ich ändere zwar im select-tag die Werte, aber es tut sich nichts un ich weiß nicht wie ich auf den fehler draufkommen soll...

      Wenn ein echter Fehler auftritt findet man ja normalerweise eine Fehleranzeige im Firefox, IE, ... Aber nciht einmal das passiert, es passiert einfach nichts!

      Deshalb weiß ich auch nicht was ich schreiben soll, ich steh derzeit einfach an :-(

      mfg
      Stefan

      1. Hi,

        was sollte denn deiner Meinung nach der onchange-Handler bewirken? Er soll auf die Änderung reagieren. Änderung von was? Änderung der Auswahl des <select>-Elements, aber doch nicht der <option>?!
        siehe dazu auch: SELFHTML: onchange-Eventhandler

        MfG
        Rouven

        --
        -------------------
        "I wish it need not have happened in my time" - "So do I, and so do all who live to see such times. But that is not for them to decide. All we have to decide is what to do with the time that is given us."  --  J.R.R. Tolkien: "The Lord Of The Rings: The Fellowship Of The Ring"
        1. Naja, es sollte so sein das wenn ich select von "Wahl 1" auf "Wahl 2"/"Wahl 3" ändere das "blablabla" verschwindet und wenn ich wieder auf "Wahl 1" gehe sollte es wieder auftauchen!

          mfg
          Stefan

          1. Naja, es sollte so sein das wenn ich select von "Wahl 1" auf "Wahl 2"/"Wahl 3" ändere ....

            Ja eben, du änderst das select und wo steht bei dir der onchange Event?

            Struppi.

            --
            Javascript ist toll (Perl auch!)
          2. Hi,

            Naja, es sollte so sein das wenn ich select von "Wahl 1" auf "Wahl 2"/"Wahl 3" ändere das "blablabla" verschwindet und wenn ich wieder auf "Wahl 1" gehe sollte es wieder auftauchen!

            und das passt nicht zu der vorherigen Beschreibung, weil........?
            Du solltest lediglich den onchange-Handler woanders hinschreiben (in deinem Beispiel: aus 3 mach 1) und mit angepassten Parametern füttern. Ein option HAT KEINEN onchange-Handler.

            MfG
            Rouven

            --
            -------------------
            Eine Bilanz ist wie der Bikini einer Frau. Sie zeigt fast alles, aber verdeckt das Wesentliche  --  Günter Stotz, Regierungsdirektor des baden-württembergischen Wirtschaftsministeriums
          3. Hallo Stefan,

            zu den netten Link von Rouven.

            Wenn Du ein wenig liest, stößt Du auf folgende Zeilen:

            onchange (bei erfolgter Änderung)

            Für den Fall, dass ein Element einen geänderten Wert erhalten hat.

            Nach HTML 4.0 und JavaScript 1.2 (Netscape) erlaubt in folgenden HTML-Tags:
            <input> <select> <textarea>

            Steht da was von <option> ?

            Nur so mal als Anregung ...

            Und wenn Du nur ein bisschen gesucht hättest, hättest Du vielleicht auch das gefunden:
            http://de.selfhtml.org/javascript/objekte/options.htm#selected_index

            Liebe Grüße,

            Bernd