Ik gebruik deze for loop, alleen er gebeurt niets:
if(waarde == 'A')
{
binnen.disabled = true;
loper.disabled = true;
nvtChange('ladeBinnen');
option0 = new Option(58,58);
option1 = new Option(74,74);
option2 = new Option(90,90);
option3 = new Option(106,106);
option4 = new Option(122,122);
option5 = new Option(138,138);
option6 = new Option(154,154);
option7 = new Option(170,170);
option8 = new Option(186,186);
option9 = new Option(202,202);
option10 = new Option(218,218);
option11 = new Option(234,234);
option12 = new Option(250,250);
option13 = new Option(266,266);
option14 = new Option(282,282);
option15 = new Option(298,298);
option16 = new Option(314,314);
option17 = new Option(330,330);
option18 = new Option(346,346);
option19 = new Option(362,362);
option20 = new Option(378,378);
option21 = new Option(394,394);
option22 = new Option(410,410);
option23 = new Option(426,426);
option24 = new Option(442,442);
option25 = new Option(458,458);
option26 = new Option(474,474);
for(var $i = 0; $i >= 26; $i++)
{
hoogte.options[$i] = option+$i;
}
Timen heeft wel gelijk. Je geeft je for-lus een begintoestand waarbij de conditie al niet waar is, en waardoor hij dus nooit begint met rollen. kleiner-of-gelijk lijkt mij wat je zoekt, in plaats van groter-of-gelijk.
En je mag in Javascript $ gewoon in functie- en variabelenamen gebruiken, dus ja, je kan Javascript schrijven alsof het PHP is :)
var options = new array();
options[0] = new Option(58,58);
options[1] = new Option(74,74);
options[2] = new Option(90,90);
//enz..
var limit = options.length
for(var i = 0; i <= limit; i++)
{
hoogte.appendChild(options[i]);
}
garandeer niet dat mn code 100% foutloos is maar die richting moet je op. Bijkomend voordeel is dat als je een extra optie wil toevoegen dat i deze sctuctuur heel makkelijk kan door gewoon een element aan je array toe te voegen
[edit]
Had Timen zn bericht niet helemaal goed gelezen mijn excuus
o , en heb je code even aangepast.
if(waarde == 'A')
{
binnen.disabled = true;
loper.disabled = true;
nvtChange('ladeBinnen');
var base = 58 ;
var numbertToAdd = 16 ;
var optLimit = 26 ;
for(var x = 0; x <= optLimit ; x++)
{
var myOpt = new Option(base,base) ;
hoogte.apendChild(myOpt) ;
base += numberToAdd ;
}
}
Heb je 36 regels even configureerbaar en practischer gemaakt. Dr zit namelijk elke keer een verschil van 16 met de vorige items. op het moment dat je meer dan 6 items heb is het (qua regels code) al rendabel om te loopen.
Als je daar type A selecteert, zou Hoogte andere opties moeten krijgen. Dit werkt helaas niet :(
function changeType()
{
var ok ;
var waarde = document.bestel.ladeType.value;
var binnen = document.bestel.ladeBinnen;
var hoogte = document.bestel.ladeHoogte;
var loper = document.bestel.loperType;
if(waarde == 'A')
{
binnen.disabled = true;
loper.disabled = true;
nvtChange('ladeBinnen');
var base = 58 ;
var numbertToAdd = 16 ;
var optLimit = 26 ;
for(var x = 0; x <= optLimit ; x++)
{
var myOpt = new Option(base,base) ;
hoogte.apendChild(myOpt) ;
base += numberToAdd ;
}
}
else
{
binnen.disabled = false;
loper.disabled = false;
nvtGone ('ladeBinnen');
}
}
Het werkt nu wel erg bedankt! Alleen nu moeten de eerste selecties weg :S Die blijven nu ook staan. Dat was waarom ik .options[i] gebruikte. Maar dat is opgelost door
for(var x = 0; x <= optLimit ; x++)
{
var myOpt = new Option(base,base) ;
hoogte.options[x] = myOpt;
base += numberToAdd ;
}