Установить начальное значение в DatePicker с помощью jquery? - PullRequest
40 голосов
/ 29 марта 2012

Я пытаюсь установить начальное значение в моем jquery ui datepicker.Я пробовал несколько разных способов, но, похоже, дата не отображается, она пустая.

var idag = new Date();
$("#txtFrom").datepicker("setDate", idag - 2);
$("#txtTom").datepicker("setDate", idag);
$("#txtFrom").datepicker("refresh");
$("#txtTom").datepicker("refresh");

Ответы [ 7 ]

79 голосов
/ 29 марта 2012

этот простой пример работает для меня ...

HTML

<input type="text" id="datepicker">

JavaScript

var $datepicker = $('#datepicker');
$datepicker.datepicker();
$datepicker.datepicker('setDate', new Date());

я смог создать это, просто посмотрев @ руководство и прочитав объяснение setDate:

.datepicker ("setDate", date)
Устанавливает текущую дату для средства выбора даты.Новая дата может быть объектом Date или строкой в ​​текущем формате даты (например, «01/26/2009»), числом дней с сегодняшнего дня (например, +7) или строкой значений и периодов («y» длягоды, «m» для месяцев, «w» для недель, «d» для дней, например «+ 1m + 7d»), или ноль, чтобы очистить выбранную дату.

13 голосов
/ 17 августа 2012

Вы можете установить значение в HTML, а затем инициализировать DatePicker для запуска / выделения фактической даты

<input name="datefrom" type="text" class="datepicker" value="20-1-2011">
<input name="dateto" type="text" class="datepicker" value="01-01-2012">
<input name="dateto2" type="text" class="datepicker" >


$(".datepicker").each(function() {    
    $(this).datepicker('setDate', $(this).val());
});

Вышеуказанное работает даже с датскими форматами дат

http://jsfiddle.net/DDsBP/2/

4 голосов
/ 29 марта 2012

С jQuery :

Установите дату, которая будет выделена при первом открытии, если поле пустое.Укажите либо фактическую дату через объект Date, либо в виде строки в текущем dateFormat, либо количество дней с сегодняшнего дня (например, +7), либо строку значений и периодов («y» для лет, «m» для месяцев,'w' для недель, 'd' для дней, например, "+ 1m + 7d"), или ноль для сегодняшнего дня.

Примеры кода

Инициализация средства выбора даты с параметром defaultDate

$(".selector").datepicker({ defaultDate: +7 });

Получить или установить параметр defaultDate после инициализации.

//getter
var defaultDate = $(".selector").datepicker("option", "defaultDate");
//setter
$(".selector").datepicker("option", "defaultDate", +7);

После инициализации средства выбора даты вы также можете установить дату с помощью:

$(/*selector*/).datepicker("setDate" , date)
2 голосов
/ 17 июля 2014

Используйте этот код, он вам поможет.

<script>
InitializeDate();
</script>




<input type="text" id="txtFromDate" class="datepicker calendar-icon" placeholder="From Date" style="width: 100px; margin-right: 10px; padding: 0px 0px 0px 7px;">
        <input type="text" id="txtToDate" class="datepicker calendar-icon" placeholder="To Date" style="width: 100px; margin-right: 10px; padding: 0px 0px 0px 7px;">


function InitializeDate() {
    var date = new Date();
    var dd = date.getDate();             
    var mm = date.getMonth() + 1;
    var yyyy = date.getFullYear();

    var ToDate = mm + '/' + dd + '/' + yyyy;
    var FromDate = mm + '/01/' + yyyy;
    $('#txtToDate').datepicker('setDate', ToDate);
    $('#txtFromDate').datepicker('setDate', FromDate);
}
2 голосов
/ 29 марта 2012

Использование setDate

.datepicker( "setDate" , date )

Устанавливает текущую дату для средства выбора даты.Новой датой может быть объект Date или строка в текущем формате даты (например, «01/26/2009»), количество дней с сегодняшнего дня (например, +7) или строка значений и периодов («y»годы, «m» для месяцев, «w» для недель, «d» для дней, например, «+ 1m + 7d»), или ноль, чтобы очистить выбранную дату.

1 голос
/ 25 февраля 2014

Я не совсем уверен, понял ли я ваш вопрос, но, похоже, вы пытаетесь установить значение для типа ввода Дата.

Если вы хотите установить значение для введите тип ' Дата ', затем он должен быть отформатирован как " гггг-ММ-дд " (Примечание: заглавная ММ для Месяца, строчная ММ для минут).В противном случае он очистит значение и оставит указатель даты пустым.

Допустим, у вас есть кнопка с именем " DateChanger ", и вы хотите установить для указателя даты значение " 22 Dec 2012 "при нажатии на нее.

<script>
    $(document).ready(function () {
        $('#DateChanger').click(function() {
             $('#dtFrom').val("2012-12-22");
        });
    });
</script>
<input type="date" id="dtFrom" name="dtFrom" />
<button id="DateChanger">Click</button>

Не забудьте включить ссылку на JQuery.

0 голосов
/ 29 августа 2016

Используйте его после кода инициализации для получения текущей даты (в формате datepicker):

$(".ui-datepicker-today").trigger("click");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...