PDA

Bekijk Volledige Versie : selectbox javascript/php troubles



bigbuddha
05/01/04, 22:33
<script type="text/javascript">
function moveOption(from,index,to) {
var origOpt = from.options[index];
var newOpt = new Option(origOpt.text,origOpt.value);
from.options[index]=null;
to.options[to.options.length] = newOpt;
}

function moveSelectedOptions(from,to) {
var i=0;
while (i<from.options.length) {
if (from.options[i].selected) {
from.options[i].selected=false;
moveOption(from,i,to);
} else {
i++;
}
}
}
</script>
---
Gebruik:
---
<form action="" onsubmit="return false">
<select multiple="multiple" name="sel1"

ondblclick="moveOption(this,this.selectedIndex,this.form.eleme nts.sel2)">
<option value="X1">Text 1</option>
<option value="X2">Text 2</option>
<option value="X3">Text 3</option>
<option value="X4">Text 4</option>
<option value="X5">Text 5</option>
</select>
<input type="button" value="add"
onclick="moveSelectedOptions(this.form.elements.sel1,
this.form.elements.sel2);">
<input type="button" value="remove"
onclick="moveSelectedOptions(this.form.elements.sel2,
this.form.elements.sel1);">
<select multiple="multiple" name="sel2"

ondblclick="moveOption(this,this.selectedIndex,this.form.eleme nts.sel1)">
</select>
</form>

Dit gebruik ik om options van het ene naar het ander selectboxje te
sluizen. Probleem is dat ik als naam van het tweede selectboxje dit
nodig heb "sel[]" dus met vierkante haken omdat ik met php op de
volgende pagina deze array wil aanspreken.

Ik krijg het niet voormekaar om het script zo aan te passen dat hij
"sel[]" aanvaart.

iemand ??

thanks.

Daniel Tryba
05/01/04, 22:34
bigbuddha <newsmail@bigbuddha.be> wrote:
> Dit gebruik ik om options van het ene naar het ander selectboxje te
> sluizen. Probleem is dat ik als naam van het tweede selectboxje dit
> nodig heb "sel[]" dus met vierkante haken omdat ik met php op de
> volgende pagina deze array wil aanspreken.
>
> Ik krijg het niet voormekaar om het script zo aan te passen dat hij
> "sel[]" aanvaart.

Dit is een javascript "probleem" totaal niet gerelateerd een enige
serverside omgeving. MAW clientside.

<q>
onclick="moveSelectedOptions(this.form.elements.sel1,this.f orm.elements.sel2);"
</q>

Je kunt elementen in een form op meerdere manieren aanspreken, handigste
manier hier lijkt de naam van het element te gebruiken:
this.form.elements['sel1[]']....

Voor details kan je vast in niwo terecht.

--

Daniel Tryba