Установить сегодняшнюю дату как дату по умолчанию в jQuery UI datepicker

Я просто хочу, чтобы сегодняшняя дата была значением по умолчанию во входных данных, использующих jQuery UI datepicker:

<input id="mydate" type="text" />

Я попробовал приведенный ниже код, но он не сработал:

var currentDate = new Date();  
$("#mydate").datepicker("setDate",currentDate);

person Chris Abrams    schedule 06.02.2011    source источник


Ответы (13)


Вызов setDate необходимо выполнить отдельно от вызова инициализации. Итак, чтобы создать datepicker и установить дату за один раз:

$("#mydate").datepicker().datepicker("setDate", new Date());

Почему это так, я не знаю. Если бы кто-то знал, это была бы интересная информация.

person Martin Eden    schedule 05.07.2013

Вы должны инициализировать datepicker перед вызовом datepicker метод .

$("#mydate").datepicker().datepicker("setDate", new Date());
//-initialization--^          ^-- method invokation
<link href="https://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<input type="text" id="mydate" />


Вот Рабочий JSFiddle.

P.S: Предполагается, что на вашем компьютере установлена ​​правильная дата

person T J    schedule 12.11.2014
comment
Спасибо! вы также можете добавить в свой пример datepicker (selectedDate, new Date ()); который выбирает дату только тогда, когда OP открывает календарь. - person Revious; 13.11.2014
comment
@Revious На самом деле мне не удалось найти ссылку на такой метод ... Там же defaultDate < / a>, но он не установит дату внутри текстового поля, о котором идет речь ... - person T J; 16.11.2014

Это очень просто, вы просто добавляете этот скрипт,

$("#mydate").datepicker({ dateFormat: "yy-mm-dd"}).datepicker("setDate", new Date());

Здесь setDate set today date и dateFormat определяют, какой формат вы хотите установить или показать.

Надеюсь, его простой сценарий сработает.

person rjony    schedule 18.03.2014

$("#date").datepicker.regional[""].dateFormat = 'dd/mm/yy';
$("#date").datepicker("setDate", new Date());

Всегда работай на меня

person Ashisha Nautiyal    schedule 09.09.2013

Это работает для меня, сначала вы привязываете datepicker к текстовому полю, а в следующей строке устанавливаете (сегодня как дату по умолчанию) дату к нему

$("#date").datepicker();

$("#date").datepicker("setDate", new Date());
person Usman Younas    schedule 13.07.2013

Примечание. Когда вы передаете setDate, вы вызываете метод, который предполагает, что datepicker уже инициализирован для этого объекта.

$(function() {    
   $('#date').datepicker();
   $('#date').datepicker('setDate', '04/23/2014');
});

Test: http://jsfiddle.net/wimarbueno/hQkec/1/

person Wilzon    schedule 23.04.2014

Установить дату по умолчанию при инициализации:

$("#date").datepicker({
    defaultDate: '01/26/2014'
});
person Morten Holmgaard    schedule 03.09.2014

Это сработало для меня, а также локализовало его:

$.datepicker.setDefaults( $.datepicker.regional[ "fr" ] );
$(function() {
   $( "#txtDespatchDate" ).datepicker( );
   $( "#txtDespatchDate" ).datepicker( "option", "dateFormat", "dd/mm/yy" );
   $('#txtDespatchDate').datepicker('setDate', new Date());
});
person Jan    schedule 31.07.2014

Просто установите minDate: 0

Вот мой сценарий:

$("#valid_from")
   .datepicker({
     minDate: 0,
     defaultDate: "+1w",
     changeMonth: true,
     numberOfMonths: 3
})
person Mike Nguyen    schedule 12.10.2016

Я пробовал много способов и придумал собственное решение, которое работает абсолютно так, как нужно.

«mydate» - это идентификатор элемента / элемента input или datepicker.

        $(document).ready(function () {

        var dateNewFormat, onlyDate, today = new Date();

        dateNewFormat = today.getFullYear() + '-' + (today.getMonth() + 1);

        onlyDate = today.getDate();

        if (onlyDate.toString().length == 2) {
            dateNewFormat += '-' + onlyDate;
        }
        else {
            dateNewFormat += '-0' + onlyDate;
        }
        $('#mydate').val(dateNewFormat);
    });
person Radha Anil K    schedule 08.12.2016

Вы не определили

$("#mydate").datepicker({});
person Ashish Mehta    schedule 24.10.2012

Попробуй это:

$('.datepicker').datepicker('update', new Date(year,month,day));
person Abdo Bahhous    schedule 09.06.2016

попробуй это:

$("#mydate").datepicker("setDate",'1d');
person Ethan More    schedule 23.07.2014
comment
Что 1d должно быть? - person JW Lim; 23.07.2014
comment
извините за поздний ответ, 1d означает today. - person Ethan More; 05.08.2014