Toon posts:

[js] weghalen van een option

Pagina: 1
Acties:

Verwijderd

Topicstarter
De volgende JS wordt gegenereerd door PHP, het laadt dag nummers in voor een maandag in die maand. Nu wordt echter wanneer ik een maand verander niet alle vorige optie weggehaald.

het hele script staat op : http://www2.hku.nl/~patrick/indigo

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    <script language="javascript">
        function selecteerMaand() {
            for (i=0;i<document.logboek.dag.length;i++) {
                document.logboek.dag.remove(i)
            }
            var maand = parseInt(document.logboek.maand.options[document.logboek.maand.selectedIndex].value);
            switch(maand) {
                case 8: document.logboek.dag.options[document.logboek.dag.length] = new Option('19', '19');
                case 8: document.logboek.dag.options[document.logboek.dag.length] = new Option('12', '12');

[...]

                case 1: document.logboek.dag.options[document.logboek.dag.length] = new Option('14', '14');
                case 1: document.logboek.dag.options[document.logboek.dag.length] = new Option('7', '7');break;
            }
        }   
    </script>

  • edie
  • Registratie: Februari 2002
  • Laatst online: 22:43
http://developer.netscape...s/client/jsref/select.htm

Ik zie geen remove() functie staan.

Probeer het met
document.logboek.dag.options[ i ] = null;

"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert


Verwijderd

Topicstarter
wel raar dat hij wel "wat" weghaalt :P

de null methode werkt ook niet ... ik snap het niet want deze functie doet het ergens anders wel :S ... het heeft dus gewerkt ...

  • edie
  • Registratie: Februari 2002
  • Laatst online: 22:43
Verwijderd schreef op 24 augustus 2002 @ 18:03:
wel raar dat hij wel "wat" weghaalt :P
Ja, ik bedacht me net:

Je moet ze wel in omgekeerde volgorde weghalen ;)

Stel je hebt 4 elementen in je 'array' ('a', 'b', 'c', 'd')
Als je het doet op jouw manier
for( int i=0; i < length( array); i++)

Gebeurd er dit:
i = 0, de 'a' wordt weggehaald. Blijft over ('b', 'c', 'd').
i wordt 1. Haalt hij de 'c' weg!!

(dus alle even elementen in het oorspronkelijke array blijven staan (alle oneven in de code (1, 3, 5, 7))

Je moet het dus omdraaien :)

code:
1
2
3
4
for (i = document.logboek.dag.length - 1; i >= 0; i--) 
{ 
 document.logboek.dag.remove(i);
}

"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert


Verwijderd

Topicstarter
shit ... lompe fout :S ...
thnx!