2013-03-31 78 views
0

我很困惑,想要顯示在選定日期之間的天數:<input type="date" id="date" />和今天。使用jQuery計算<input type =「date」

基於此,我想展示一個具體的<div>。例如,如果從輸入值到今天的日期之間有20天,我們將顯示<div id="20day"></div>,如果超過20天,則顯示<div id="21day"></div>

這可能只是與jQuery?

回答

0
var selected = $('#date').val(); 
var today = new Date(); 

var diff = new Date(selected - today); 

// get days 
var days = diff/1000/60/60/24; 

alert(days); 

var days將包含天數。你可以繼續做任何你喜歡的變量。我在這裏只用了alert()

2

試試這個:

$('#date').change(function() { 
    var date1 = new Date($(this).val()); 
    var date2 = new Date(); 
    var diffDays = date2.getDate() - date1.getDate(); 
    $('body').append('<div id="' + diffDays + '"></div>'); 
}); 

DEMO HERE

+0

非常感謝你。我越來越近了。我發現的唯一的東西,計算是錯誤的。如果我從明天開始選擇日期,那麼我需要30天。這是我目前的代碼:http://jsfiddle.net/kkcJs/ –

+0

我已經對你的代碼[** here **](http://jsfiddle.net/kkcJs/1/)進行了一些修改,並且如果我選擇3月30日,我得到**總共剩下1天。**。所以,我沒有看到30天的問題。 –

+0

Thx和thx優化我的代碼。關於計算問題,我想我說錯了。最終用戶將被栓上來選擇未來的日期。所以如果他選擇4月1日,應該顯示「1天」,現在顯示「30天」。你能幫助我嗎?謝謝。 –

相關問題