Bueno, la idea y lógica de cómo identificar el número máximo de días para cada mes basado incluso en el año, supongo que la tienes ... entonces veremos lo que creo que es el principal problema que es refrescar los datos del SELECT ...
Partiendo de que tenemos esto:
Código HTML:
<select id="cboDia" name="cboDia">
<option value="1">1</option>
<option value="2">2</option>
..
<option value="31">31</option>
</select>
La base para hacerlo es esta, eliminar y/o crear los options que necesites, es decir si estas mostrando un mes que tenga 31 días y luego vas a mostrar uno que tenga solo 30 ... eliminar el día 31 ... y si es al revés, pues crear el día 31 ... bueno ahí va el código javascript
:
Código HTML:
function cambiaContenidoCombo()
{
var cboMes = document.getElementById( 'cboDia' );
//borrando el día 31
cboDia.options[ 30 ] = null;
//creando de nuevo la opción del día 31
cboDia.options[ 30 ] = new Option( 'nuevo valor(31)', 'nuevo text(31)' );
}
Ojalá te sirva, el resto es nomás meterle la lógica, que por la fecha de tu post seguro que ya lo tienes ...
saludos nuevamente cmarti