sparkline sheets google jquery jquery-ui jquery-ui-datepicker

jquery - sheets - sparkline js



Problema con la barra de desplazamiento del año en jQuery datepicker (2)

Estoy usando el selector de fechas jQuery para seleccionar la fecha de nacimiento del solicitante, pero la edad del solicitante debe estar restringida a valores entre 21 y 100 años.

Para hacer la selección relativamente fácil, he activado los cuadros desplegables de mes y año, y al estar en el Reino Unido, lo he localizado.

<script type="text/javascript"> $(function () { $(".dp1").datepicker({ changeMonth: true, changeYear: true, dateFormat: ''d MM yy'', minDate: ''-100y'', maxDate: ''-21y'' }); });

El código de ASP.NET MVC2 VB.NET para el cuadro de texto es el siguiente:

<%: Html.TextBox("", If(DirectCast(Model, DateTime) = DateTime.MinValue, String.Empty, ViewData.TemplateInfo.FormattedModelValue), New With {.class = "dp1"})%>

Eso está bien, pero el menú desplegable del año solo muestra un rango limitado de valores y ninguna barra de desplazamiento para indicar que la lista de años es más larga, pero el tamaño del control deslizante de la barra de desplazamiento no proporciona pistas visuales sobre el rango completo:

Si hace clic en el valor superior y luego deja que se cierre el menú desplegable, la próxima vez que lo abra, aparecerán más valores:

Este es un comportamiento no obvio y solo lo encontré por accidente. ¿Hay alguna forma de hacer que la barra de desplazamiento aparezca en todo momento y con un tamaño de control deslizante inversamente proporcional al rango? Y, de no ser así, ¿qué otros métodos de selección de fechas se remontan a un siglo (en realidad, estarían bien 99 años) se recomiendan?

Para el registro que estoy usando:

  • jquery-ui-1.8.5
  • jquery-1.4.1

Gracias

Crispin


Intente configurar también la opción yearRange (que establecerá el rango de años en el cuadro desplegable del año). Puede configurarlo como yearRange: "-100: -21" . Tenga en cuenta que la configuración de yearRange solo no afecta a las fechas reales que el usuario puede elegir (aún debe establecer minDate y maxDate).


Lo siguiente establecerá el rango de años desde 1970 hasta el año en curso y también se ocupará del problema de desplazamiento.

.datepicker({yearRange: "1970:+nn"});