anc'io ho provato ma girala o menala la minestra è sempre quella, l'effetto deseleziona/riseleziona non si può evitare in nessun modo.
![]()
codice:<html> <head> <title>Documento senza titolo</title> <meta http-equiv="Content-Type" content="x-gzip"> </head> <body> <hr> <SCRIPT LANGUAGE="JavaScript"> var arrSelected = new Array(); function DoSelect(objSelect){ objSelect.blur(); objSelect.focus(); var iObjSelectNumElements = objSelect.length; // ripristino i valori selezionati nella lista prendendoli dall'array for(var i = 0; i < iObjSelectNumElements; i++) { objSelectedOption = objSelect.options[i]; switch(objSelectedOption.selected) { case true: if (arrSelected[i] != undefined) // se è già presente nell'array disabilito l'opzione { objSelect.options[i].selected = false; arrSelected[i] = undefined; // imposto lo stato nell'array ad undefined } else // non è presente nell'array: abilito l'opzione { objSelect.options[i].selected = true; // abilito la voce della select arrSelected[i] = i; // imposto l'indice nell'array } break; default: if(arrSelected[i] != undefined) // se è già presente nell'array abilito l'opzione { objSelect.options[i].selected = true; // abilito la voce della select arrSelected[i] = i; // imposto l'indice nell'array } else // non è presente nell'array: disabilito l'opzione { objSelect.options[i].selected = false; arrSelected[i] = undefined; // imposto lo stato nell'array ad undefined } } } } </SCRIPT> <form> <select multiple rows=10 onClick="DoSelect(this)"> <option value="1">1 <option value="2">2 <option value="3">3 <option value="4">4 </select> </form> </form> </body> </html>