Как я могу предварительно заполнить текстовое поле с помощью jQuery отмечать сегодняшнюю дату?



у меня есть очень простой календарь jQuery Datepicker:

$(document).ready(function(){
    $("#date_pretty").datepicker({ 
    });
});

и, конечно, в HTML...

<input type="text" size="10" value="" id="date_pretty"/>

сегодняшняя дата хорошо выделяется для пользователя, когда они поднимают календарь, но как я могу получить jQuery для предварительного заполнения самого текстового поля с сегодняшней датой при загрузке страницы, без каких-либо действий пользователя? 99% времени, сегодняшняя дата по умолчанию будет то, что они хотят.

248   18  

18 ответов:

обновление: есть сообщения, что это больше не работает в Chrome.

это кратко и делает работу:

$(".date-pick").datepicker('setDate', new Date());

вы должны сначала вызвать datepicker ()>затем используйте 'setDate', чтобы получить текущую дату.

$(".date-pick").datepicker();
$(".date-pick").datepicker("setDate", new Date());

или цепочка вызова метода setDate после инициализации datepicker, как указано в комментарии к этому ответу

$('.date-pick').datepicker({ /* optional option parameters... */ })
               .datepicker("setDate", new Date());

Это не С

$(".date-pick").datepicker("setDate", new Date());

Примечание:описаны приемлемые параметры setDate здесь

var myDate = new Date();
var prettyDate =(myDate.getMonth()+1) + '/' + myDate.getDate() + '/' +
        myDate.getFullYear();
$("#date_pretty").val(prettyDate);

казалось, работает, но там может быть лучший выход..

The setDate() метод устанавливает дату и обновляет соответствующий элемент управления. Вот как:

$("#datepicker1").datepicker({
    dateFormat: "yy-mm-dd"
}).datepicker("setDate", "0");

демо

как указано в документации, setDate() С радостью принимает объект даты JavaScript, число или строку:

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

в случае, если вам интересно, задание defaultDate свойства в конструкторе не обновите соответствующий элемент управления.

значение :

$('#date_pretty').datepicker('setDate', '+0');

значение вчера:

$('#date_pretty').datepicker('setDate', '-1');

и так далее с любым количеством дней до или послесегодня!--5-->.

посмотреть jQuery UI "методы" setDate.

решение:

$(document).ready(function(){
    $("#date_pretty").datepicker({ 
    });
    var myDate = new Date();
    var month = myDate.getMonth() + 1;
    var prettyDate = month + '/' + myDate.getDate() + '/' + myDate.getFullYear();
    $("#date_pretty").val(prettyDate);
});

спасибо grayghost!

этот код будет гарантировать, чтобы использовать формат вашего datepicker:

$('#date-selector').datepicker('setDate', new Date());

нет необходимости повторно применять формат, он использует предопределенный datepicker-один из вас при инициализации datepicker (если вы его назначили!);)

этот работал на меня.

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

код Дэвида K Egghead работал отлично, спасибо!

$(".date-pick").datepicker(); 
$(".date-pick").datepicker("setDate", new Date()); 

мне также удалось немного обрезать его, и он также работал:

$(".date-pick").datepicker().datepicker("setDate", new Date()); 
$('input[name*="date"]').datepicker({
        dateFormat: 'dd-mm-yy',
        changeMonth: true,
        changeYear: true,
        beforeShow: function(input, instance) { 
            $(input).datepicker('setDate', new Date());
        }
    });

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

    $(function() { 
        // initialize the datapicker
        $("#date").datepicker();

        // set the time
        var currentDate = new Date();
        $("#date").datepicker("setDate",currentDate);

    //  set the options for the button  
        $("#date").datepicker("option",{
            dateFormat: 'dd/mm',
            showOn: "button",
          // whatever option Or event you want 
        });
  });

просто подумал, что я добавлю свои два цента. Средство выбора используется в форме добавления / обновления, поэтому оно должно показывать дату, поступающую из базы данных, если редактируется существующая запись, или показывать сегодняшнюю дату, если нет. Ниже работает нормально для меня:

    $( "#datepicker" ).datepicker();
    <?php if (!empty($oneEVENT['start_ts'])): ?>
       $( "#datepicker" ).datepicker( "setDate", "<?php echo $startDATE; ?>" );
    <? else: ?>
       $("#datepicker").datepicker('setDate', new Date());   
    <?php endif; ?>
  });

для предварительного заполнения даты сначала необходимо инициализировать datepicker, а затем передать значение параметра setDate.

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

у вас есть 2 варианта:

ВАРИАНТ А) отмечает как "активный"в вашем календаре, только когда вы нажимаете на вход.

Js:

$('input.datepicker').datepicker(
                        {   
                            changeMonth: false,
                            changeYear: false,
                            beforeShow: function(input, instance) { 
                                $(input).datepicker('setDate', new Date());
                            }
                        }                         
                     );

Css:

div.ui-datepicker table.ui-datepicker-calendar .ui-state-active,
        div.ui-datepicker table.ui-datepicker-calendar .ui-widget-content .ui-state-active  {
            background: #1ABC9C;
            border-radius: 50%;
            color: #fff;
            cursor: pointer;
            display: inline-block;
            width: 24px; height: 24px;
        }​

ВАРИАНТ Б) ввод по умолчанию с сегодня. Вы должны заполнить сначала datepicker .

$("input.datepicker").datepicker().datepicker("setDate", new Date());
var prettyDate = $.datepicker.formatDate('dd-M-yy', new Date());
alert(prettyDate);

назначьте prettyDate для необходимого элемента управления.

попробуй такое

$(this).datepicker("destroy").datepicker({
            changeMonth: false, changeYear: false,defaultDate:new Date(), dateFormat: "dd-mm-yy",  showOn: "focus", yearRange: "-5:+10"
        }).focus();

это работает лучше для меня, как иногда у меня есть проблемы с вызовом .datepicker('setDate', new Date()); как это беспорядок, если если у меня есть datepicker уже настроен с параметрами.

$("#myDateText").val(moment(new Date()).format('DD/MM/YYYY'));
$(function()
{
$('.date-pick').datePicker().val(new Date().asString()).trigger('change');
});

Источник: http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/datePickerDefaultToday.html

    Ничего не найдено.

Добавить ответ:
Отменить.