anoniem Geplaatst: 25 juni 2002 Delen Geplaatst: 25 juni 2002 Ik heb een 'dynamische' listbox (select) waarvan men de inhoud kan veranderen en de volgorde kan aanpassen. Nu wil ik de hele inhoud van de listbox in een hidden field stoppen gescheiden door een komma. Wat ik ook probeer, ik krijg alleen de geselecteerde option erin. Hoe lees ik de hele inhoud van een listbox uit? Snoopje Quote Link naar reactie
anoniem Geplaatst: 26 juni 2002 Auteur Delen Geplaatst: 26 juni 2002 voorbeeldje: [code:1:d23222c7f6] // ====================================================================== function getAllOptions(oSelect) // ====================================================================== // Purpose : return all option-values of a <select> object // // Author : Antoine Hurkmans, June 2002 // ---------------------------------------------------------------------- // Parameters : // oSelect - reference to a select object // optional second parameter - value delimeter (defaults to a comma) // ---------------------------------------------------------------------- // Returns : a delimeted string with all values // ---------------------------------------------------------------------- // Revision History : // 26-Jun-02 AH - Initial Version // ====================================================================== { var sTemp = ''; var sDelimeter = (arguments.length > 1)? arguments[1] : ','; for (var i=0; i < oSelect.length; i++) sTemp += oSelect.options[i].value + sDelimeter; sTemp = sTemp.substring(0, sTemp.length-sDelimeter.length); return(sTemp); } [/code:1:d23222c7f6] Quote Link naar reactie
anoniem Geplaatst: 26 juni 2002 Auteur Delen Geplaatst: 26 juni 2002 Thnx! Grappig, ik werd vannacht wakker en dacht opeens, zo moet het ... en toen checkte effe je reply en dat was meteen een uitgewerkt voorbeeld van wat ik in mijn hoofd had :) Alleen werkte dat niet helemaal, dus heb ik er dit van gemaakt: [code:1:7d6b958c8e]function getAllOptions(f,oSelect) // ====================================================================== // Purpose : return all option-values of a <select> object // // Author : Antoine Hurkmans, June 2002 // ---------------------------------------------------------------------- // Parameters : // f - reference to a form // oSelect - reference to a select object // optional third parameter - value delimeter (defaults to a comma) // ---------------------------------------------------------------------- // Returns : a delimeted string with all values // ---------------------------------------------------------------------- // Revision History : // 26-Jun-02 AH - Initial Version // ====================================================================== { var sTemp = ''; var sDelimeter = (arguments.length > 2)? arguments[2] : ','; for (var i=0; i < f.elements[oSelect].length; i++) sTemp += f.elements[oSelect].options[i].value + sDelimeter; sTemp = sTemp.substring(0, sTemp.length-sDelimeter.length); return(sTemp); }[/code:1:7d6b958c8e] Die regel voor het scheidingsteken kende ik nog niet, zal ik zeker onthouden! Snoopje Quote Link naar reactie
anoniem Geplaatst: 26 juni 2002 Auteur Delen Geplaatst: 26 juni 2002 Natuurlijk werkt mijn voorbeeldje wel ;) In de function-header staat dat de 1e parameter een selectie [b:c924939013]object[/b:c924939013] moet zijn (jij stuurt alleen een string mee en dan werkt het inderdaad niet). Als je de functie aanroept met bijv. [i:c924939013]getAllOptions(document.formnaam.selectnaam)[/i:c924939013] werkt het perfect. Jouw manier kan ook natuurlijk, maar de mijne zal sneller zijn :P [size=9:c924939013]btw. als je een aanpassing doet moet je natuurlijk wel de revision history bijwerken[/size:c924939013] ;) Quote Link naar reactie
anoniem Geplaatst: 26 juni 2002 Auteur Delen Geplaatst: 26 juni 2002 ah, natuurlijk, daar zit wat in maar hoezo is jouw voorbeeld sneller? Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen