[JavaScript] Select Box

Pagina: 1
Acties:

  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
ok...

De UTFS is stuk dus ik kan het niet echt zoeken, maar neem aan dat het al een keer aan bod is geweest... desalniettemin werkt dit loopje niet:
code:
1
2
3
4
5
6
7
8
9
    function removeValue(FormName, SelectBox) {
        temp = "document." + FormName + ".elements['" + SelectBox + "']";
        Source = eval(temp);
        for (i=0;i<(Source.length);i++) {
            if (Source.options[i].selected) {
                Source.options[i]=null;
            }
        }
    }


Hij gaat niet alle elementen door... ??

Gekkie is a proud member of TheBenny!


  • DaRace
  • Registratie: Juni 2001
  • Laatst online: 03-10-2023
komt het niet doordat je de length in de loop kleiner maakt door options gelijk aan null te maken? Probeer het eens met Source.length in een variabele, en hem dan vanaf length naar beneden doorlopen

dus:

code:
1
2
var L = Source.length-1;
for (i=L;i>=0;i--)

[ Voor 27% gewijzigd door DaRace op 03-12-2002 16:02 . Reden: code toegevoegd ]


  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
nope...

deze werkte ook al niet:
code:
1
2
3
4
5
6
7
8
9
10
    function removeValue(FormName, SelectBox) {
        temp = "document." + FormName + ".elements['" + SelectBox + "']";
        Source = eval(temp);
        Henk = Source.length;
        for (i=Henk;i>0;i--) {
            if (Source.options[i].selected) {
                Source.options[i]=null;
            }
        }
    }

geeft volgende error:
'Source.options[...].selected' = null or not an object

Henk is goed.. maar hij gaat nog steeds niet verder?

[ Voor 26% gewijzigd door _Gekkie_ op 03-12-2002 15:51 . Reden: extra info ]

Gekkie is a proud member of TheBenny!


  • DaRace
  • Registratie: Juni 2001
  • Laatst online: 03-10-2023
je moet hem andersom doorlopen, dus vanaf henk terugtellen naar 0, zie mijn vorige edit

[ Voor 15% gewijzigd door DaRace op 03-12-2002 15:51 ]


  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
zelfde error met
for (i=Henk;i>=0;i--) {

tis echt stom

Gekkie is a proud member of TheBenny!


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

En het gebruik van eval is evil niet aan te raden, zo is het beter/mooier/netter
code:
1
2
3
4
5
function removeValue(FormName, SelectBox) {
  var form_element = document.forms[FormName].elements[SelectBox];
  var form_element_length = form_element.length;

  //--- etc

[ Voor 4% gewijzigd door thomaske op 03-12-2002 15:54 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • DaRace
  • Registratie: Juni 2001
  • Laatst online: 03-10-2023
sorry, henk moet length-1 zijn. de array loopt van 0 tot length -1

  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
WOEI DaRace... het werkt... zoef en ze zijn uit mn list box!
thomaske schreef op 03 december 2002 @ 15:53:
En het gebruik van eval is evil niet aan te raden, zo is het beter/mooier/netter
code:
1
2
3
4
5
function removeValue(FormName, SelectBox) {
  var form_element = document.forms[FormName].elements[SelectBox];
  var form_element_length = form_element.length;

  //--- etc
Why zijn ze dan evil slecht?

[ Voor 8% gewijzigd door _Gekkie_ op 03-12-2002 16:03 ]

Gekkie is a proud member of TheBenny!


  • DaRace
  • Registratie: Juni 2001
  • Laatst online: 03-10-2023
_Gekkie_ werkt dat nou met Henk=length-1?

  • _Gekkie_
  • Registratie: Oktober 2000
  • Laatst online: 20-03 18:27

_Gekkie_

And the cow said: Helloooooow?

Topicstarter
werkt perfect! :D

Mijn dank is groot...

Gekkie is a proud member of TheBenny!


Verwijderd

_Gekkie_ schreef op 03 december 2002 @ 16:02:
Why zijn ze dan evil slecht?
Omdat ze leiden tot ondoorzichtige code en (practisch) altijd onnodig gebruikt worden.

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
JavaScript:
1
2
3
4
5
6
    function removeValue(FormName, SelectBox) {
        source = documentforms[FormName].elements[SelectBox];
        for (var i=0; i < source.options.length; i++)
            if (source.options[i].selected)
                source.options[i]=null;
    }

Lijkt me de beste oplossing wat betreft dit scriptje. Waar die length-1 vandaan komt, snap ik niet helemaal :|

[ Voor 5% gewijzigd door r0bert op 03-12-2002 22:54 . Reden: var i=0 ipv i=0 ]

Pagina: 1