Ga naar inhoud

Overhevelen van variabelen tussen twee multiple selectboxes


Aanbevolen berichten

zow, negeer het andere delete stukje dit is de goede: [code:1:83d53b72a4] <script language="Javascript1.2"> <!-- /** * (2002) GoMotion Multimedia * Hevel bepaalde opties uit Select1 over naar Select2 * Met dank aan Mathieu Kooiman <mathieu@gginter.net> * * */ selectedValues = new Array(); function isSelected(value) { for (i=0;i<selectedValues.length;i++) { if (selectedValues[i] == value) { return true; } } return false; } function deSelected(value) { for (i=0;i<selectedValues.length;i++) { if (selectedValues[i] == value) { selectedValues[i] = null; } } } function hevelOverCurrSelected() { select1 = document.forms[0].select1; s1SelOpt = select1.options[select1.selectedIndex]; select2 = document.forms[0].select2; if (!isSelected(s1SelOpt.value)) { select2.options[select2.options.length] = new Option(s1SelOpt.text, s1SelOpt.value,0,0); selectedValues[selectedValues.length] = s1SelOpt.value; } else { alert("Trefwoord is al geselecteerd: " + s1SelOpt.value); } } function DeleteCurrSelected() { deSelected(select2.options[select2.selectedIndex].value); select2.options[select2.selectedIndex] = null; } //--> </script> [/code:1:83d53b72a4] [ Dit bericht is bewerkt door: mvwinger op 2002-04-24 20:25 ]
Link naar reactie
hmm, gewone tekst lukt ineens wel. effe snel een copy & paste proberen. ------------------------------- Onderstaande functie kan je gebruiken om options te verplaatsen tussen verschillende selects. In de aanroep geef je de select-objects mee (vind ik persoonlijk beter dan deze hard in de functie zetten). vb1: moveOptions(document.forms[0].select1, document.forms[0].select2) vb2 (als je de "php"-namen wil gebruiken): moveOptions(document.forms[0].elements[0], document.forms[0].elements[1]) Bovendien kan de functie ook overweg met multiple selects en kan je 'm dus voor add-en en delete-en gebruiken. Have fun. disclaimer: Werkt het niet dan los je het zelf maar op :wink: function moveOptions(oSelectSrc, oSelectDest) { var aSrcOptions = oSelectSrc.options; var aDestOptions = oSelectDest.options; var aNewOptions = new Array(); var j = 0; if (aSrcOptions.length > 0) { for (var i=aSrcOptions.length -1; i >= 0; i--) { if (aSrcOptions[i].selected) { aNewOptions[j++] = new Option(aSrcOptions[i].text, aSrcOptions[i].value); aSrcOptions[i] = null; } } for (var k=aNewOptions.length -1; k>=0; k--) { aDestOptions[aDestOptions.length] = aNewOptions[k]; } //if (arguments[2]) sortOptions(oSelectDest); if (document.layer) history.go(0) } } Blijft natuurlijk nog wel het punt dat alleen geselecteerde waarden gepost worden. Dat zal je zelf nog even op moeten lossen. p.s. weggecommente sortOptions functie kan tegen een geringe upgrade vergoeding bijgekocht worden :razz: p.s.2 [ code ] tags bewust weggelaten om te kijken of het forum daarvan over z'n nek gaat. [ Dit bericht is bewerkt door: Annie op 2002-04-25 21:50 ]
Link naar reactie
Joh, werkt ze nou alweer niet ?? :sad: Maar hopen dat dit geplaatst wordt: Iedereen immens bedankt voor het geven van oplossingen! Tot morgen :wink: Djurre PS: zijn jullie nou nóg aan het debatteren op het forum, het is al vijf uur geweest hoor :grin: _________________ Wij werken hier met fun, friendship, finance :grin: [ Dit bericht is bewerkt door: nssadmin op 2002-04-25 21:49 ] [ Dit bericht is bewerkt door: nssadmin op 2002-04-25 21:50 ]
Link naar reactie
Nu met, een hidden field wat alles bijhoudt, had ik al gedaan alleen niet opgeslagen oid :S [code:1:2cacb1560d] <script language="Javascript1.2"> <!-- /** * (2002) GoMotion Multimedia * Hevel bepaalde opties uit Select1 over naar Select2 * Met dank aan Mathieu Kooiman <mathieu@gginter.net> * * */ selectedValues = new Array(); function isSelected(value) { for (i=0;i<selectedValues.length;i++) { if (selectedValues[i] == value) { return true; } } return false; } function deSelected(value) { for (i=0;i<selectedValues.length;i++) { if (selectedValues[i] == value) { selectedValues[i] = null; } } } function hevelOverCurrSelected() { select1 = document.forms[0].select1; s1SelOpt = select1.options[select1.selectedIndex]; select2 = document.forms[0].select2; if (!isSelected(s1SelOpt.value)) { select2.options[select2.options.length] = new Option(s1SelOpt.text, s1SelOpt.value,0,0); selectedValues[selectedValues.length] = s1SelOpt.value; document.bladibla.trefwoorden.value = document.bladibla.trefwoorden.value + " " + s1SelOpt.value; } else { alert("Trefwoord is al geselecteerd: " + s1SelOpt.value); } } function DeleteCurrSelected() { deSelected(select2.options[select2.selectedIndex].value); select2.options[select2.selectedIndex] = null; document.bladibla.trefwoorden.value = ""; for (i=0;i<selectedValues.length;i++) { if (selectedValues[i] != null){ document.bladibla.trefwoorden.value = document.bladibla.trefwoorden.value + " " + selectedValues[i]; } } } //--> </script> [/code:1:2cacb1560d] [ Dit bericht is bewerkt door: mvwinger op 2002-04-26 08:41 ]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...