Получение значения из jQuery datepicker
Если я хочу отобразить jQuery UI datepicker inline, прикрепив его к DIV, как $("div#someID").datepicker()
- Как получить доступ к выбранной дате? Я предполагаю, если это не связано с INPUT
тогда он не будет отправлен вместе с формой.
Я думаю, как продолжение, если мне нужно привязать его к входному элементу, есть ли способ контролировать позиционирование datepicker относительно входного элемента? Если бы я хотел, чтобы datepicker отображался выше или сбоку от элемента, а не ниже него, как сделал бы я это?
простите, если этот ответ где-то очень очевидное.
7 ответов
Если вы хотите получить дату, когда пользователь выбирает ее, вы можете сделать это:
$("#datepicker").datepicker({
onSelect: function() {
var dateObject = $(this).datepicker('getDate');
}
});
Я не уверен насчет второй части вашего вопроса. Но вы пробовали использовать таблицы стилей и относительное позиционирование?
можно использовать getDate
способ:
var d = $('div#someID').datepicker('getDate');
это даст вам объект даты в d
.
нет параметры позиционирования всплывающее окно, но вы можете сделать что-то с CSS или beforeShow
событие случае необходимости.
$('div#someID').datepicker({
onSelect: function(dateText, inst) { alert(dateText); }
});
вы должны привязать его только к элементу ввода
вы можете удалить атрибут name этого ввода, поэтому он не будет отправлен.
для доступа к значению этого элемента управления:
$("div#someID").datepicker( "getDate" )
и вы можете взглянуть на документ в http://jqueryui.com/demos/datepicker/
вы можете сделать это следующим образом-с проверкой, чтобы убедиться, что datepicker привязан к элементу.
var dt;
if ($("div#someID").is('.hasDatepicker')) {
dt = $("div#someID").datepicker('getDate');
}
для установки в datepicker рядом с полем ввода вы можете использовать следующий код.
$('#datepicker').datepicker({
beforeShow: function(input, inst)
{
inst.dpDiv.css({marginLeft: input.offsetWidth + 'px'});
}
});
если выбранные вами элементы не являются одним, Вам нужно использовать этот способ:
$('[type="date"]').datepicker();
$('[type="date"]').change(function() {
var date = $(this).datepicker("getDate");
console.log(date);
});