Pero muchisimas gracias Adler !!!
Tuve que modificarlo un poco ya que completo mi select en forma dinamica con 'newOption', por lo que no podia llamar al evento 'onmousedown', solo al 'onchange', pero anduvo de maravillas!!!
Dejo la modificacion:
Código:
function cuentaSeleccionados()
{
var limite=30;
var seleccionados=Controlar();
var sel=document.form1.select1;
if (seleccionados>limite)
{
var deselec = seleccionados - limite;
var cuentades=0;
alert("Ha superado el limite de "+limite);
for (var i=0; i<sel.options.length; i++)
{
if ((sel.options[i].selected == true)&(cuentades<deselec))
{
sel.options[i].selected = false;
cuentades++;
}
}
}
}
function Controlar()
{
sel=document.form1.select1;
var cuenta=0;
for (var i = 0; i < sel.options.length; i++)
{
if (sel.options[i].selected == true)
{
cuenta++;
}
}
return cuenta;
}
Lo que hago es simplemente deseleccionar los que haya seleccionado de más
Muchas gracias!!!