2012-05-09 6 views
2

я следующий кодJQuery Дата DatePicker +1 добавления 10 дней

$("#in").datepicker({ 
    minDate: 0, 
    onSelect: function (dateText, inst) { 
     dateText = new Date(dateText); 
     dateText = dateText.getDate()+1; 
     $('#out').datepicker("option", 'minDate', dateText); 
    } 
}); 

Пример: http://jsfiddle.net/ANYTA/1/

Однако out DatePicker добавляет 10 дней вместо 1 день. Что можно изменить, чтобы заставить его работать по назначению? Большое спасибо

ответ

6
dateText = dateText.setDate(dateText.getDate()+1); 

ПРИМЕЧАНИЕ

somedate.setDate(days); 

1) дней - целое число

2) Ожидаемые значения 1-31, но и другие значения разрешены:

2.1) 0 приведет в последний час предыдущего месяца

2.1) -1 приведет в час до последнего часа предыдущего месяца

3), когда месяц 31 день, а затем 32 приведет в первый день следующего месяца

4) Если месяц в течение 30 дней, то, 32 приведет к второй день следующего месяца


Ваш код Shoule

$("#in").datepicker({ 
    minDate: 0, 
    onSelect: function(dateText, inst) { 
     var actualDate = new Date(dateText); 
     var newDate = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate()+1); 
     $('#out').datepicker('option', 'minDate', newDate); 
    } 
}); 

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

DEMO

+0

привет, ваше решение делает всю дату выбрана даже до даты min, скрипка здесь, оригинальная, jsfiddle.net/ANYTA/1, однако при замене вашего кода каждая дата может быть выбрана. – cicakman

+0

привет, он по-прежнему добавляет 10 дней вместо 1 дня – cicakman

+0

@cicakman проверяет мой ответ на обновление и скрипку, и я думаю, что теперь он совершенен – thecodeparadox

3

Try:

dateText.setDate(dateText.getDate() + 1); 

GetDate возвращает 1-31 день месяца, так что прибавление к ней не имеет смысла.

setDate устанавливает день месяца, поэтому, если вы добавляете один день в день месяца, вы фактически добавляете один день.

(Кроме того, SETDATE достаточно умны, чтобы справиться с ролловеры, то есть 31 января + 1 == 1 февраля)

+0

привет, ваше решение делает все дата выбирается еще до даты min, скрипка здесь, оригинальная, http://jsfiddle.net/ANYTA/1/, однако при замене вашего кода каждая дата может быть выбрана. – cicakman

+0

Извините, отредактировал мой ответ, чтобы правильно работать. – Corbin

+0

привет Корбину, большое спасибо за помощь, но он по-прежнему говорит так же, как и предыдущее решение. спасибо – cicakman

Смежные вопросы