xpfreund: Weitere Formularelemente nur bei Auswahl Option 3

Hallo,

Ich habe eine Optionsliste (select option und so was). Jetzt möchte ich das zusätzliche Formularelemente erst nach Auswahl des letzten Eintrages der Liste angezeigt werden sollen und bei Optionswechsel wieder ausgeblendet werden (ohne Browser-Reload). Wie kann ich das anstellen?
Bsp.:
<select name=frm>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
Nur wenn 3 ausgewählt, zeige Option 4-6 an
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
</select>

Kann mir jemand helfen?

gruß aus Senftenberg am See

    1. Hallo,

      http://aktuell.de.selfhtml.org/artikel/javascript/verkettete-auswahllisten/ sollte das können.

      Geht das vielleicht auch leichter? Versteh das nicht wirklich.

      gruß aus Senftenberg am See

      1. Geht das vielleicht auch leichter? Versteh das nicht wirklich.

        Naja, ist vielleicht doch etwas overdressed für dein Vorhaben.

        Letztlich musst du bei jeder Änderung prüfen, ob die aktuelle Auswahl Option 3 ist. Falls ja, erweiterst du die Liste, falls nein, löschst du die Einträge wieder raus, falls sie noch drinstehen *und* keiner von denen ausgewählt wurde. Zwecks Ereignisüberwachung brauchst du den Eventhandler onchange im einleitenden select-Tag.

        Siechfred

        1. Hallo,

          Das Folgende als Funktion bei onchange ausgeführt bringt den richtigen Start.
          var auswahl = 'ausw';
                   if (ergebnis == auswahl) {
                   dazu();
                   }
                   else {loeschen();
                   }
          Es gab allerdings eine kleine Programmänderung. Es soll jetzt, wenn dazu() aufgerufen wird, statt des Hinzufügens einer Option in die vorhandene Liste eine neue Liste angezeigt werden in der ein paar Checkboxen sind.
          Warum? Die Optionsliste dient zur Auswahl der Art der Serientermine, also z. B. täglich oder wöchentlich. Hier geht es jetzt darum, dass der letzte Punkt Tagesauswahl heißt, d. h. wenn er ausgewählt ist (und nur dann), soll eine eine Liste mit Checkboxen von Montag bis Freitag erscheinen, wo dann die angeklickten Tage über ein Array beim Absenden des Formulars mit übergeben wird.

          Die anzuzeigenden Check-Boxen soll dann so aussehen:
          <input type=checkbox name=auswahl[] value=mo>Montag
          <input type=checkbox name=auswahl[] value=di>Dienstag
          <input type=checkbox name=auswahl[] value=mi>Mittwoch
          <input type=checkbox name=auswahl[] value=do>Donnerstag
          <input type=checkbox name=auswahl[] value=fr>Freitag

          Danke für deine bisherige Hilfe.

          gruß aus Senftenberg am See

        2. Hallo,

          Jetzt gehts:

          <code lang=html>
          <script language='Javascript'>
          function adde(ergebnis) {
                   var auswahl = 'ausw';
                   if (ergebnis == auswahl) {
                   dazu();
                   }
                   else {loeschen();
                   }
                   }
          function loeschen() {
          document.getElementById('wahl').style.visibility='hidden';
          }
          function dazu() {
          document.getElementById('wahl').style.visibility='visible';
          }
          </script>
          <select name='serie' onchange='adde(this.value)'>
          <option value=''>einmalig
          <option value='mofr'>Mo-Fr
          <option value='tag'>täglich
          <option value='woche'>wöchentlich
          <option value='monat'>monatlich
          <option value='jahr'>jährlich
          <option value='ausw'>Tagesauswahl
          </select>

          <div id=wahl style='visibility:hidden'>
          <input type=checkbox name=auswahl[] value=mo>Montag
          <input type=checkbox name=auswahl[] value=di>Dienstag
          <input type=checkbox name=auswahl[] value=mi>Mittwoch
          <input type=checkbox name=auswahl[] value=do>Donnerstag
          <input type=checkbox name=auswahl[] value=fr>Freitag
          </div>
          </code>
          Danke für deine Hilfe.

          gruß aus Senftenberg am See