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ù.
Questa nuova versione tiene conto anche delle selezioni multiple (shift).
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>
Dai primi test sommari sembra funzionare.
P.S.: Non mi è chiaro il significato di: "non è fattibile", ho cercato in vari dizionari ma senza risultati...