2013-07-26 1 views
0

내 날짜가 작은 문제가 있습니다. 날짜를 받고 몇 가지 변수에 저장되는 함수가 있습니다. 나는 전달 된 날짜를 두 변수의 다른 날짜로 설정하지만 실행하면 동일합니다. 다음은함수에서 같은 날짜 값을 얻는 두 개의 변수

function dateChange(dateInput){ 
var prevWeek = dateInput; 
var prevMonth = dateInput; 
prevWeek.setDate(prevWeek.getDate()-7); 
prevMonth.setDate(prevMonth.getDate()-30); 

var $prev_month_link = $('<a>') 
     .html("month") 
     .click(function(event){ 
      //prevMonth = new Date(); 
      alert("click prevMonth: "+prevMonth); 
     //dateChange(prevMonth) 
     prevMonth = prevMonth.substring(3,5)+"/"+prevMonth.substring(0,2)+"/"+prevMonth.substring(6,10) 
     var prevMonth2 = new Date(prevMonth); 
     //alert("line 132, current2 is: "+prevMonth2); 
     dateChange(prevMonth2); 
     event.stopPropagation(); 
     }) 
     .addClass("prevMonth") 
     .attr('data-name', prevMonth) 
     .appendTo($prev_container) 

     var $prev_week_link = $('<a>') 
     .html("week") 
     .click(function(event){ 
      alert("click prevWeek: "+prevWeek); 
     prevWeek = prevWeek.substring(3,5)+"/"+prevWeek.substring(0,2)+"/"+prevWeek.substring(6,10) 
     var prevWeek2 = new Date(prevWeek); 
     dateChange(prevWeek2) 
     event.stopPropagation(); 
     }) 
     .addClass("prevWeek") 
     .attr('data-name', prevWeek) 
     .appendTo($prev_container) 
} 

내 문제가 prevWeek 및 prevMonth 내가 다르게 설정에도 불구하고, 같은 날짜가있는 조각이다. 클릭 이벤트가 발생했는지 확신 할 수 없습니다. 예를 들어 당신은

http://www.ccy.com.au/availability/ 당신은이 두 선이 prevWeekprevMonthdateInput를 복사하는 것이 생각 미리

답변

3

에 감사드립니다 여기에서 볼 수 있습니다

var prevWeek = dateInput; 
var prevMonth = dateInput; 

그리을. 그들은 prevWeekprevMonth이 같은 위치를 가리 키도록 만듭니다. 그런 다음 해당 메서드를 호출 할 때 :

prevWeek.setDate(prevWeek.getDate()-7); 
prevMonth.setDate(prevMonth.getDate()-30); 

그냥 가리키는 대상을 변경하고 있습니다. 아마도

dateInput.setDate(dateInput.getDate()-7); 
dateInput.setDate(dateInput.getDate()-30); 

아마도 당신이 원하는 것이 아닙니다. 실제로 날짜를 복사하려면, 그것을 복사 할 날짜를 전달 new Date를 사용

이 그들에게 시간에 같은 순간을 나타내는 새로운, 동일하지 않은 Date 각 지점을 만드는
var prevWeek = new Date(dateInput); 
var prevMonth = new Date(dateInput); 

.

+0

나는 가장 큰 노브처럼 느껴집니다. 내가 가지고있는 : var prevWeek = new Date (dateInput); var prevMonth = 새 날짜 (dateInput); 은 DreamWeaver에서 주석 처리되고 숨겨져 있습니다. 저는이 작업을 너무 오랫동안 해왔습니다. 감사합니다. 감사합니다. –

관련 문제