Errata corrige:
A quanto pare, non è possibile assegnare un evento onclick al tag option su Internet Explorer.
quindi lo script diventa:
codice:
<script language="javascript" type="text/javascript">
var maxSel=4; //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){
var arr_prev=prevSel.split("|");
var lastIndex=actSel;
for(var j=0; j<arr_prev.length; j++){
lastIndex=lastIndex.replace(arr_prev[j]+"|","");
}
mSel.options[lastIndex].selected=false;
actSel=prevSel;
}
}
</script>
lo si può associare ad una select multipla in questa maniera:
<select multiple="multiple" size="4" onchange="checkSel(this)">
...
</select>