Наличие скрытого поля ввода приводит к проблемам с позиционированием диалогового окна выбора даты (диалог центрирован горизонтально). Вы можете изменить поле диалога, но есть лучший способ.
Просто создайте поле ввода и «спрячьте» его, установив его непрозрачность на 0 и сделав его шириной 1 пикселя Также поместите его рядом с (или под) кнопкой или там, где вы хотите, чтобы появился указатель даты.
Затем прикрепите указатель даты к «скрытому» полю ввода и покажите его, когда пользователь нажмет кнопку.
HTML:
<button id="date-button">Show Calendar</button>
<input type="text" name="date-field" id="date-field" value="">
CSS:
#date-button {
position: absolute;
top: 0;
left: 0;
z-index: 2;
height 30px;
}
#date-field {
position: absolute;
top: 0;
left: 0;
z-index: 1;
width: 1px;
height: 32px; // height of the button + a little margin
opacity: 0;
}
JS:
$(function() {
$('#date-field').datepicker();
$('#date-button').on('click', function() {
$('#date-field').datepicker('show');
});
});
Примечание: не тестируется во всех браузерах.