2015-11-28 119 views
1

我正在嘗試選擇Bootstrap-datepicker的第一行。出於某種原因,它總是選擇上個月而不是當前月份。jquery選擇當前數據

例如:當我點擊下個月時,它會顯示上個月的以前的數據。但我想顯示當月的數據。

這裏是我的代碼:jsfiddle.net/cxtzk6sj/1/

回答

1

與方法的問題是,點擊事件發生的日期選擇器呈現新的前一個月。 Datepicker本身在subser下單擊next和prev按鈕上的事件,並且您的事件處理程序在它們之前執行。

非常簡單的解決辦法是讓日期在未來的「滴答」,你可以用setTimeout的實現與零超時:

$("input").datepicker().on('changeMonth', function() { 
    setTimeout(function() { 
     $(".datepicker-days tbody > tr:first-of-type").each(function() { 
      $("#result").append("<p>" + $(this).context.innerText + "</p>"); 
     }); 
    }); 
}); 

而且它更好地使用API​​來月的變化:在「changeMonth」事件您案件。

演示:http://jsfiddle.net/cxtzk6sj/2/

+0

感謝您的回覆這麼快。我還有一個問題。可以選擇課程嗎?我需要這樣的東西...如果($(this).attr('class')==「舊日」)...在我的每個。 –

+0

你能解釋得更清楚嗎,不知道我明白你想選什麼。 – dfsq

+0

我想計算上個月的天數。請檢查它:http://jsfiddle.net/cxtzk6sj/3/。 2015年11月將返回7,12月將返回2. –