Struppi: for Schleife

Beitrag lesen

<html>
<head>
 <title>Untitled</title>
</head>

<body>
  <select name="columnPos" size="1" onchange=""; onFocus=""></select>
  <select name="columnPos" size="1" onchange=""; onFocus=""></select>
  <select name="columnPos" size="1" onchange=""; onFocus=""></select>
  <select name="columnPos" size="1" onchange=""; onFocus=""></select>
  <select name="columnPos" size="1" onchange=""; onFocus=""></select>

Das muss innerhalb von <form> ... </form>
gesetzt werden, denn erst dann kannst du darauf zu greifen (deshalb funktioniert es erst nach dem alert() ).

<script language="JavaScript">

Es lautet:
<script type="text/javascript">

<!--
      for(var i = 1; i < 6; i++)

Du willst alle 'columnPos' Felder des Formulars durchgehen?

Das ist ein Array des Formulars.
alert(document.forms[0].columnPos.length) sagt dir wieviele Elemente es hat. Dann brauchst du auch keine Schleife mit festen Werten, sondern kannst Variabel arbeiten.

for(var i = 0; i < document.forms[0].columnPos; i++)

{
     //alert("");
   for(var j = 1; j < 6; j++)
          {

if(i==j){
         NewOption = new Option(j,j,false,true);
    }else{
      NewOption = new Option(j,j,false,false);

Es reicht:
var newOption = new Option, j, j, false, (i==j));

}
          document.getElementsByName('columnPos')[i-1].options[document.getElementsByName('columnPos')[i-1].length] = NewOption;

Formularfelder kannst du einfacher direkt ansprechen über document.forms[..]

document.forms[0].columnPos[i].options[j - 1] = newOption;

Struppi.