Questa nuova versione tiene conto anche delle selezioni multiple (shift).Originariamente inviato da cavicchiandrea
Secondo me non è fattibile, anche l'ultima versione funziona solo parzialmente, se selezioni le option una alla volta va bene, se fai una selezione multipla di option (tipo cinque) in un solo colpo non funziona più.
![]()
Dai primi test sommari sembra funzionare.codice:<script language="javascript" type="text/javascript"> var maxSel=2;//numero massimo di opzioni selezionabili var prevSel=""; var actSel=""; function checkSel(mSel){ prevSel=actSel; actSel=""; var NumSel=0; for (var i=0;i<mSel.length; i++){ if(mSel.options[i].selected){ NumSel++; actSel+=mSel.options[i].index+"|"; } } if (NumSel>maxSel){ arr_prev=prevSel.split("|"); var lastSel=actSel; for(var j=0; j<arr_prev.length; j++){ if(arr_prev[j]!=""){ lastSel=lastSel.replace(arr_prev[j]+"|",""); } } if(lastSel.indexOf("|")==-1){//ctrl mSel.options[lastSel].selected=false; }else{//shift arr_act=lastSel.split("|"); for(var k=0; k<arr_act.length; k++){ if(arr_act[k]!=""){ mSel.options[arr_act[k]].selected=false; } } } actSel=prevSel; } } </script>
P.S.: Non mi è chiaro il significato di: "non è fattibile", ho cercato in vari dizionari ma senza risultati...![]()

Rispondi quotando