Martin K.: selected index bei dropdown menü

Wer kann mir sagen warum ich den selected index nicht festlegen kann.
bekomme immer reine Fehlermeldung:

function create_dropdown(select_index){
   document.write("Bitte Dokument auswählen:");
  document.write('<form>');
  document.write('<select name="wahlmenue" onChange="zuSeite(this.form);">');
  for (var i = 1; i < Objektname.length; i++) {
      document.write('<option>' + i+"."+ Objektname[i] + '</option>');
  }

document.write('</select>');
   document.write('</form>');

document.write(this.form.selectedIndex = select_index);
oder
        document.write(wahlmenue.selectedIndex = select_index);

}

  1. Wer kann mir sagen warum ich den selected index nicht festlegen kann.
    bekomme immer reine Fehlermeldung:

    die da lautet?

    document.write(this.form.selectedIndex = select_index);
    oder
            document.write(wahlmenue.selectedIndex = select_index);

    dir ist klar was doument.write() bewirkt?

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Ja ich weiß was document.write bewirkt.

      die Fehlermeldung ist, dass  "wahlmenue undefiniert ist"

      danke

      Martin

      1. Ja ich weiß was document.write bewirkt.

        Das bezweifle ich, es schreibt etwas in das Browserfenster du willst Javascrit code in das Fenster schreiben ohne dass du dem Borwser sagst das es Javascript code ist, was soll er deiner Meinung tun?
        Er stellt es einfach dar ohne das etwas passiert

        Zudem, wenn du document.write() nachdem die Seite fertig geladen wurde benutzt wird dein komplettes Dokument neu geschrieben, d.h. der alte Code inkl. eventuell vorhandenen JS Code ist weg.

        die Fehlermeldung ist, dass  "wahlmenue undefiniert ist"

        Dann wird das auch so sein, dir ist bekannt wie du auf Formularelemente zugreifst? (du hast das entsprechende selfhtml Kapitel gelesen?)

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. Zudem, wenn du document.write() nachdem die Seite fertig geladen wurde benutzt wird dein komplettes Dokument neu geschrieben, d.h. der alte Code inkl. eventuell vorhandenen JS Code ist weg.

          ja das ist mir auch klar, aber ich will ja das er beim erstellen des dropdown menüs einen speziellen wert annimmt!

          1. Zudem, wenn du document.write() nachdem die Seite fertig geladen wurde benutzt wird dein komplettes Dokument neu geschrieben, d.h. der alte Code inkl. eventuell vorhandenen JS Code ist weg.

            ja das ist mir auch klar, aber ich will ja das er beim erstellen des dropdown menüs einen speziellen wert annimmt!

            da hat Mathias dir schon einen Vorschlag gemacht, aber das erstellen der Auswahlliste ist ja in einer Funktion, d.h. du rufst diese schon beim laden auf?
            Dann ist deine Vorgehensweise natürlich kein Problem. Bis uaf den Lapsus, dass du denkst JS code, der mit document.write() geschrieben wird, wird ausgeführt.

            Struppi.

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

    Du schreibst ein select mit vielen options über document.write ins Dokument. Anschließend willst du mit JavaScript die Auswahl setzen. Warum setzt du die Auswahl nicht direkt beim Schreiben ins Dokument mit dem selected-Attribut?

    for (var i = 1, selected; i < Objektname.length; i++) {  
        if (i == select_index) {  
            selected = ' selected="selected"';  
        } else {  
            selected = '';  
        }  
        document.write("<option" + selected + ">" + i + "." + Objektname[i] + "</option>");  
    }
    

    Ergibt <option> oder <option selected="selected">.

    Mathias

    --
    »No nations, no borders.«
    SELFHTML Weblog
    1. Hallo,

      Du schreibst ein select mit vielen options über document.write ins Dokument. Anschließend willst du mit JavaScript die Auswahl setzen. Warum setzt du die Auswahl nicht direkt beim Schreiben ins Dokument mit dem selected-Attribut?

      for (var i = 1, selected; i < Objektname.length; i++) {

      if (i == select_index) {
              selected = ' selected="selected"';
          } else {
              selected = '';
          }
          document.write("<option" + selected + ">" + i + "." + Objektname[i] + "</option>");
      }

        
      Danke für den Tipp aber komischewiese wird immer noch der erste Eintrag selected!  
        
      Martin
      
      1. Danke hat sich erledigt!
        war mein Fehler!!

        Martin