Подтвердить что ты не робот

Получение значения от JQuery datepicker

Если я хочу отобразить встроенную подсказку JQUERY UI dateline, добавив ее в DIV, как $("div#someID").datepicker() - как мне получить доступ к выбранной дате? Я предполагаю, что если он не связан с INPUT, то он не будет отправлен с формой.

Думаю, что в качестве продолжения, если мне нужно связать его с элементом INPUT, есть ли способ управлять позиционированием datepicker относительно элемента INPUT? Если бы я хотел, чтобы указатель даты появился выше или сбоку элемента, а не ниже, как бы я это сделал?

Простите меня, если этот ответ где-то действительно очевиден.

4b9b3361

Ответ 1

Если вы хотите получить дату, когда пользователь ее выберет, вы можете сделать это:

$("#datepicker").datepicker({
    onSelect: function() { 
        var dateObject = $(this).datepicker('getDate'); 
    }
});

Я не уверен во второй части вашего вопроса. Но вы пробовали использовать таблицы стилей и относительное позиционирование?

Ответ 2

Вы можете использовать метод getDate:

var d = $('div#someID').datepicker('getDate');

Это даст вам объект Date в d.

Нет никаких вариантов позиционирования всплывающего окна, но при необходимости вы можете что-то сделать с помощью CSS или beforeShow.

Ответ 3

Вы можете удалить атрибут имени этого ввода, поэтому он не будет отправлен.

Чтобы получить доступ к значению этого элемента управления:

$("div#someID").datepicker( "getDate" )

и вы можете взглянуть на документ в http://jqueryui.com/demos/datepicker/

Ответ 4

$('div#someID').datepicker({
   onSelect: function(dateText, inst) { alert(dateText); }
});

вы должны привязать его только к элементу ввода

Ответ 5

Вы можете сделать это следующим образом - с проверкой только для того, чтобы привязать датупикер к элементу.

var dt;

if ($("div#someID").is('.hasDatepicker')) {
    dt = $("div#someID").datepicker('getDate');
}

Ответ 6

Чтобы установить датупиксера рядом с полем ввода, вы можете использовать следующий код.

$('#datepicker').datepicker({
    beforeShow: function(input, inst)
    {
        inst.dpDiv.css({marginLeft: input.offsetWidth + 'px'});
    }
});

Ответ 7

Если выбранные вами элементы не одни, вам необходимо использовать этот способ:

$('[type="date"]').datepicker();
$('[type="date"]').change(function() {
    var date = $(this).datepicker("getDate");
    console.log(date);
});