2017-12-04 7 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を変更

。 Javascriptの日付の月は0から始まります。 1月は0、2月は1などです。

Decemberの月の場合、月の値は12ですが、monthNamesの配列は0ベースなので、はundefinedになります。

+0

私はずっと前にこうしていましたので、なぜ私にプラス1があったのか全く分かりません。 あなたの答えは正しいです。 –

+0

あなたを助けてうれしい!! :) –

関連する問題