jQuery datepicker UI getdate () - Как мне просто выводить только дату, а НЕ СР 06 октября 2010 17:00:00 GMT-0700 (тихоокеанское летнее время) - PullRequest
1 голос
/ 07 сентября 2010

В настоящее время этот код работает, но не так, как ожидалось:

$("#start_date").datepicker({
        dateFormat: 'yy-mm-dd',
        onSelect: function(_date, _datepicker)
        {
            var myDate = new Date(_date);
            myDate.setDate(myDate.getDate()+8);
            $('#estimated_hatching_date').text(myDate);
            alert( myDate);       
        }

        });

Первый вопрос - как отображается дата.В настоящее время этот код выше оповещений Пт 01 октября 2010 17:00:00 GMT-0700 (тихоокеанское летнее время) .Я хотел бы, чтобы выходные данные были просто датой, например, 09.06.2010.

Второй выпуск - $ ('#timate_hatching_date'). Text (myDate); не меняет текст.Когда этот код срабатывает, ничего не меняется.Однако если я это сделаю: $ ('#timate_hatching_date'). Text ('myDate'); myDate помещается в div #estimated_hatching_date.

Итак, как мне просто вывести датуи замените «текст» внутри #estimated_hatching_date div просто датой +7 дней с момента выбора даты?

Спасибо, Рич

Ответы [ 3 ]

3 голосов
/ 18 ноября 2010

jQuery UI Datepicker имеет встроенную функцию formatDate .Пожалуйста, @dottedquad, не используйте вашу самодельную версию, дата математика и форматирование сложнее, чем вы думаете.Угловые чехлы заставят вас рвать на себе волосы.

onSelect: function(_date, _datepicker) {
    var myDate = new Date(_date);
    var myText = $.datepicker.formatDate('dd-mm-yy',myDate);
    alert(myText);
}
1 голос
/ 30 сентября 2010

У меня была такая же проблема и я использовал опцию "altField" со скрытым вводом.Значение скрытого ввода всегда форматируется в соответствии с «dateFormat»

1 голос
/ 08 сентября 2010

Я снова перечитал руководство по выбору даты и понял это.

    $("#start_date").datepicker({
    dateFormat: 'yy-mm-dd',
    onSelect: function(_date, _datepicker)
    {
        var myDate = new Date(_date);
        myDate.setDate(myDate.getDate()+8);
        var fullYear = myDate.getFullYear();
        var month = ((myDate.getMonth()+1) < 10) ? ('0' + (myDate.getMonth()+1)) : myDate.getMonth()+1;
        var day = (myDate.getDate() < 10) ? ('0' + myDate.getDate()) : myDate.getDate();
        var myNewDate = fullYear + '-' + day + '-' + month;

        $('#estimated_hatching_date').text(myNewDate);
        alert(myNewDate);
    }
    });

Этот код работает, как и ожидалось.У кого-нибудь еще есть идеи, которые могли бы сделать эту работу по-другому?

-Спасибо, Рич

...