2012-02-15 2 views
-2

Я пытаюсь создать кнопку бронирования, где она должна получить текущую дату, надеть ее «от» и добавить 5 дней, чтобы поместить ее в «Кому» ,Добавьте текущую дату и добавьте 5 дней при следующем значении

поэтому он выглядит примерно так.

$(function() { 
    $('#booknow').click(function() { 
     fromDate = getCurrentDate(); //DD/MM/YYYY 
     toDate = fromDate + 5; 
     url = 'http:domain.com/' + fromDate + ToDate + 'moreParameters=1;'; 

     window.location = url; 
     });  
    } 
}); 

ЗАБРОНИРОВАТЬ

Я использую jquery.datepick.min.js

Как я смог достичь этого?

Edit:

хмм .. Любые идеи, что случилось здесь: http://jsbin.com/ociweb

+0

Вы можете использовать .getDay() действительно получают фактические или вы также можете разделить дату на разные переменные и добавить 5 в переменную дня, а затем конкат строк и вуаля у вас есть +5 –

+0

@EvilP обратите внимание, что '.getDay()' дает вам день недели; '.getDate()' дает день месяца, что вам нужно использовать для этого. – Pointy

+0

@Pointy, это мой проблем, используя .getDay(). – Pennf0lio

ответ

2

Вы можете создать экземпляр Date через пять дней после того, как другой, как это:

var fiveDaysLater = new Date(existingDate.getTime()); 
fiveDaysLater.setDate(fiveDaysLater.getDate() + 5); 

В "сеттер" функции на прототипе даты JavaScript знают, как интерпретировать такие вещи, так что установка дня дня примерно на 35 должным образом оставляет вас с датой в следующем месяце.

редактировать — если все, что вы хотите, это URL, как в вашем вопросе, формируется с настоящей датой и датой пяти дней с сегодняшнего дня, а затем:

$(function() { 
    $('#booknow').click(function() { 
     var fromDate = new Date(), toDate = new Date(); 

     toDate.setDate(toDate.getDate() + 5); 

     alert('http:domain.com/' + fromDate + toDate + '?moreParameters=1;'); 
     // window.location.href = 'http:domain.com/' + fromDate + toDate + '?moreParameters=1;'; 

    });  
}); 
+0

Hi Pointy, нужен ли дополнительный плагин jQuery для этой или конкретной версии jQuery? Я не могу заставить работать. http://jsbin.com/ociweb – Pennf0lio

+0

Это родной JavaScript; он не имеет ничего общего с jQuery. Я проверю ваш код jsbin. – Pointy

+0

@ Pennf0lio посмотреть, что мой код не предназначен для создания готового к использованию решения для вашей проблемы; это просто иллюстрация того, как вы манипулируете датами. Вам придется заставить его работать в вашем собственном контексте, чего я не понимаю из того, что вы уже опубликовали. – Pointy

0

Что такое формат fromDate?
Если это похоже на временную метку unix, так это в секундах, и вам нужно добавить не 5, а 5 * 24 * 60 * 60 секунд.

0

Это должно работать нормально, Вы должны использовать «вар» объявить локальную переменную

$(function() { 
    $('#booknow').click(function() { 
     var cDate = new Date(); 
     var fromDate = cDate; 
     cDate.setDay(cDate.getDay()+5); 
     var toDate = cDate; 
     var url = 'http:domain.com/' + fromDate + ToDate + 'moreParameters=1;'; 

     window.location = url; 
     });  
    } 
}); 
+0

Функция '.getDay()' предназначена для дня недели; вам действительно нужно использовать '.getDate()' и '.setDate()' здесь. Кроме того, поскольку у вас есть и «fromDate», и «toDate», ссылающиеся на «cDate», они оба получат одинаковое значение в построенном URL-адресе. – Pointy

+0

true, я не заметил, что – darek

+0

Привет, Дарек, я пробовал этот подход, но я не могу назвать функции. Можете ли вы взглянуть на мой код? http://jsbin.com/ociweb – Pennf0lio

0

Вы можете попробовать что-то вроде этого:

var today = new Date(); 
var numberofDays = 5; 
var newDate = new Date().setDate(today.getDate()+numberofDays); 
Смежные вопросы