2017-12-04 1 views
0

현재 옵션 상자와 날짜에서 값을 선택할 수 있습니다. 그런 다음 앵커 태그를 클릭하면 모든 데이터를 선택하여 URL을 구성 할 수 있습니다. 그러나, 내가 url을 볼 때, 날짜는 정의되지 않은 것으로 온다. 다음 jQuery 코드는 내가 날짜를 선택하는 데 사용되는 것입니다 :jquery에서 월이 인쇄되지 않음

$("#dt1").datepicker({ 
    dateFormat: "dd-M-yy", 
    minDate: 0, 
    onSelect: function (date) { 
     var dt2 = $('#dt2'); 
     var startDate = $(this).datepicker('getDate','+1d'); 
     startDate.setDate(startDate.getDate()+1); 
     dt2.datepicker('option', 'minDate', startDate); 
     dt2.datepicker('setDate', startDate); 
    } 
}); 

$('#dt2').datepicker({ 
    dateFormat: "dd-M-yy",  
}); 

$("li#weskus").on('click', function() { 
    $(this).addClass('weskusClass'); 
    num = 1; 
    console.log(num); 
}); 

$('a#atributo').click(function() { 
    var monthNames = [ 
     "Jan", "Feb", "Mar", 
     "Apr", "May", "Jun", "Jul", 
     "Aug", "Sep", "Oct", 
     "Nov", "Dec" 
     ]; 

    var date1 = $("#dt1").datepicker('getDate'), 
     day_1 = date1.getDate(), 
     month_1 = date1.getMonth() + 1,    
     year_1 = date1.getFullYear(); 

    var date2 = $("#dt2").datepicker('getDate'), 
     day_2 = date2.getDate(), 
     month_2 = date2.getMonth() + 1,    
     year_2 = date2.getFullYear(); 

    var where_in = $('.date-example-container li.weskusClass span.value-in').text(); 

    var where = $('.date-example-container li.selected span.value').text(); 
    var people = $('#search-pax :selected').val(); 

    if(num == 1){ 
     $('a#atributo').attr("href", "http://www.lekkeslaap.co.za/akkommodasie-in/"+where_in+"?q="+where_in+"&start="+day_1+"+"+monthNames[month_1]+"+"+year_1+'&end='+day_2+'+'+monthNames[month_2]+'+'+year_2+'&pax='+people); 
     num = 0; 
    } 
    else if(num < 1){ 
     $('a#atributo').attr("href", "http://www.lekkeslaap.co.za/akkommodasie/"+where+"?q="+where+"&start="+day_1+"+"+monthNames[month_1]+"+"+year_1+'&end='+day_2+'+'+monthNames[month_2]+'+'+year_2+'&pax='+people); 
    } 

}); 

Here my running snippet so you can test.

+2

'여기 내 스 니펫으로 테스트 할 수 있습니다. '-> 어디에서? –

+1

'month_1 = date1.getMonth() + 1 '을'month_1 = date1.getMonth()'로 변경하십시오.'monthNames' 배열은 0을 기반으로하고'getMonth()'는 0을 기준으로 월 값을 반환합니다. –

+0

스 니펫을 추가하는 것을 잊어 버렸지 만, 펜이 –

답변

1
month_2 = date2.getMonth(),month_2 = date2.getMonth(),month_1month_2을 변경

. 자바 스크립트 날짜 월은 0 기준입니다. 1 월은 0, 2 월은 1 등입니다.

그래서, December의 달, 당신의 월 값은 12이 될 것입니다하지만 monthNames[month_1]undefined을 할 수 있도록 monthNames 배열 기반 0입니다.

+0

이므로 오래 전에이 방법을 사용 했으므로 왜 내가 더하기 1을 가졌는지 전혀 알지 못합니다. 답변이 맞습니다. –

+0

도와 드리겠습니다. :) –