2014-01-16 3 views
5

jQuery UI datepicker를 사용하고 있으며 선택된 날짜를 1 일 앞으로 변경하고 선택한 날짜를 1 일 뒤로 이동하는 버튼이 있습니다. 지금, 내 "전날"버튼은 잘 작동합니다. 이전 버튼을 여러 번 클릭 한 다음 "다음 날"버튼을 클릭하면 날짜가 한 번만 증가합니다. 예를 들어, datepicker가 2014 년 1 월 10 일으로 설정되고 '다음 날'버튼을 클릭하면 2014 년 1 월 11 일까지 업데이트됩니다.하지만 다시 클릭하면 아무 것도 발생하지 않습니다. "이전 날"버튼을 먼저 클릭하지 않고 "다음 날"버튼을 클릭하면 정상적으로 작동합니다.jQuery UI datepicker로 다음 날과 전날 선택

var currentDay = new Date(); 
var nextDay = new Date(); 
var previousDay = new Date(); 

$('.next-day').each(function() { 
    $(this).on("click", function() { 

     if (previousDay < currentDay) { 
      nextDay.setDate(previousDay.getDate() + 1); 
     } else { 
      nextDay.setDate(nextDay.getDate() + 1); 
     } 

     $('#to').datepicker("setDate", nextDay); 
     $('#from').datepicker("setDate", nextDay); 
    }); 
}); 

편집 : 여기 내 jQuery를하다 여기 jsFiddle http://jsfiddle.net/p2T2g/

+0

jsFiddle로 이것을 다시 만들 수 있습니까? – j08691

+0

나는 op에 대한 링크를 추가했다. – user715564

+0

피들 링크는 MIA입니다. – j08691

답변

12

그것은 때 꽤 괜찮되지 않으며, 그 어렵지 않다

$('.next-day').on("click", function() { 
    var date = $('#picker').datepicker('getDate'); 
    date.setTime(date.getTime() + (1000*60*60*24)) 
    $('#picker').datepicker("setDate", date); 
}); 

$('.prev-day').on("click", function() { 
    var date = $('#picker').datepicker('getDate'); 
    date.setTime(date.getTime() - (1000*60*60*24)) 
    $('#picker').datepicker("setDate", date); 
}); 
솔루션 위

FIDDLE

+0

솔루션을 약간 재 작업해야했지만 확실히 트릭을 수행하고 코드를 약간 줄였습니다. 감사. – user715564

+0

나를 위해 몇 시간을 절약했습니다. 일했다! – JayKandari

+0

좋습니다. 그것은 나를 위해 약간의 시간을 절약했습니다. –

5

같은 것입니다 당신은 일광 절약에서 예를 들면 - Eg 영국과 같은 나라라면 1 시간 짧을수록 좋습니다. 1 일 단위로 낮추면 더 좋습니다. -

 

    $('.next-day').on("click", function() { 
     var date = $('#picker').datepicker('getDate'); 
     date.setDate(date.getDate() + 1) 
     $('#picker').datepicker("setDate", date); 
    }); 

관련 문제