Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[javascript] inhoud listbox in hiddenfield

Snoopje
4 antwoorden
  • 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
  • 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]
  • 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
  • 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] ;)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.