Ciao a tutti,
avrei bisogno di valorizzare un select multipla da un'altra select multipla apportunamente riempita.
Ho modificato un funzione sposta() che ho trovato in giro perchč ho solo bisogno di valorizzare l'altra select e non toccare per niente i valori della prima.
Ecco lo script:
codice:<!-- function sposta(form,direzione){ j=0; if(direzione=='-->'){ partenza=form.categorie_disponibili; arrivo=form.id_categoria; } else{ partenza=form.id_categoria; arrivo=form.categorie_disponibili; } non_sel=new Array(); sel=new Array(); //per ogni opzione di partenza controlla: for(i=0;i<partenza.options.length;i++){ //se č selezionata, mettila nell'array sel if(partenza.options[i].selected){ partenza.options[i].selected=false; sel.push(partenza.options[i]); } //altrimenti non č selezionata, quindi mettila nell'array non_sel else{ non_sel.push(partenza.options[i]); } } //per ogni opzione di arrivo for(i=0;i<arrivo.options.length;i++){ //aggiungi all'array sel tutti i valori di arrivo sel.push(arrivo.options[i]); } //azzera le due select //partenza.options.length=0; arrivo.options.length=0; //Per ogni valore in non_sel for(i=0;i<non_sel.length;i++){ //scrivilo in partenza partenza.options[i]=non_sel[i]; } //Per ogni valore in sel for(i=0;i<sel.length;i++){ //scrivilo in arrivo arrivo.options[i]=sel[i]; } } //-->Il problema č che mi dā errore quando commento :codice:<select class="formText" name="categorie_disponibili" style="width: 300px; height: 150px" multiple> <optgroup label="Professional"> <option value="1">Opzione 1</option> <option value="2>Opzione 2/option> </select> <input type="button" value=" >> " onClick="sposta(this.form, '-->')" /> <input type="button" value=" << " onClick="sposta(this.form, '<--')"/> <select name="id_categoria" class="formText" style="width: 300px; height: 150px" multiple> <option value="36">ITALIANO -> opzione 3</option> </select>
//partenza.options.length=0;
mi dice proprietā o metodi non supportati su questa riga:
arrivo.options[i]=sel[i];
}
ma non capisco perchč!?! Eppure io l'array arrivo non lo tocco per niente.. sono andato a cancellare solo il codice che modificava la SLEECT di partenza..![]()
Qualcuno mi sā aiutare ?
Grazie 1000

Rispondi quotando