2010-08-13 8 views
6

querida tengo un datepicker dentro de mi formulario. después de hacer clic en el campo de texto, mostrar fecha y hora para arriba (invertir con menú desplegable). ¿cómo hago si quiero mostrar el menú desplegable datepicker no dropup? http://img413.imageshack.us/img413/1460/screenshot5g.pngcómo configurar la posición del show de datepicker?

+0

olvidó mencionar jQuery en su pregunta. Nadie sabrá de qué fecha está hablando. Lo sé desde que respondí tu última pregunta :) – vikmalhotra

+0

@lznogood - esta pregunta ya estaba etiquetada porque me podría haber perdido la última vez que comenté. – vikmalhotra

Respuesta

0

Busque una solución en este post. Esto es lo que estabas buscando?

+0

@Shivik: ¿qué mejor de ese comando que puede hacer que mi datepicker muestre: abajo-luego a la derecha? – klox

+0

@klox - ¿qué jquery datepicker estás usando? ¿Estás usando jquery-ui datepicker (http://jqueryui.com/demos/datepicker) o alguna otra? – vikmalhotra

+0

@Shivik: sí, por supuesto, y usa el tema soleado. – klox

10
$('.datetime').datepicker({ 
    dateFormat: 'm/d/yy', 
    beforeShow: function (input, inst) { 
     var offset = $(input).offset(); 
     var height = $(input).height(); 
     window.setTimeout(function() { 
      inst.dpDiv.css({ top: (offset.top + height + 4) + 'px', left: offset.left + 'px' }) 
     }, 1); 
    } 

}); 
+0

Para aquellos que quieren saber la lógica detrás de él [verifique esto] (http://api.jqueryui.com/datepicker/#option-beforeShow) –

0

expandiendo la respuesta de Igor. Para colocar el calendario en la parte inferior derecha del elemento de entrada datepicker, use esto:

$('.datepicker').datepicker({ 
    beforeShow: function (input, inst) { 
     var offset = $(input).offset(); 
     window.setTimeout(function() { 
      var calWidth = inst.dpDiv.width(); 
      var inpWidth = $(input).width() + parseInt($(input).css('padding')); 
      inst.dpDiv.css({ left: offset.left + (inpWidth - calWidth) + 'px' }) 
     }, 1); 
    } 
}); 
Cuestiones relacionadas