2012-01-26 73 views
0

我試圖讓頁面加載,這是起4天從頁面加載今天日期選定的日期,自動填充我的領域是在側邊欄的用戶是能夠看到哪個日期被選擇交付。預填充日期到另一場在頁面加載

我設法得到的日期來填充領域,但只有一次被點擊。當頁面加載時,它會自動突出顯示當前日期,這意味着用戶可以在沒有選擇日期的情況下繼續,因爲他們只是查看日期選擇器,因爲我的日期選擇器在任何時候都可以像日曆一樣可見。

我已經粘貼下面我的代碼,我的日期選擇器是#calendar和值填充#alternate。我需要的是#alternate在頁面加載時以相同的日期格式自動填充,因爲目前它是空白的,直到你點擊一天。

<script type="text/javascript"> 
$(function() { 
$("#calendar").datepicker({ minDate: +4, maxDate: "+1M +4D", dayNamesMin: ['Mon', 'Tue',  'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], prevText: '<<', nextText: '>>', changeMonth: false, changeYear: false, altField: "#alternate", altFormat: "DD, d MM, yy", gotoCurrent: false, defaultDate: '+4'});}); 
</script> 

<div id="calendar"></div> 

<input type="text" id="alternate" name="delivery-date"/> 

任何幫助,我將不勝感激。

編輯

<script type="text/javascript"> 
$(function() { 
$("#calendar").datepicker({ minDate: +4, maxDate: "+1M +4D", dayNamesMin: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], prevText: '<<', nextText: '>>', changeMonth: false, changeYear: false, altField: "#alternate", altFormat: "DD, d MM, yy", gotoCurrent: false, defaultDate: '+4'}); 
var today = new Date(); 
today.setDate(today.getDate()+4); 
future =(today.getMonth()+1) + '/' + today.getDate() + '/' + today.getFullYear(); 

$("#alternate").append($.datepicker.formatDate('D, dd M yy', today)); 
}); 
</script> 
+0

您的代碼似乎對我工作的罰款:的jsfiddle(http://jsfiddle.net/GoranMottram/f4JDh/1/),在這兩個火狐9和IE 9 –

回答

2

你可以找到在先前計算器的問題在這裏的答案:

How do I pre-populate a jQuery Datepicker textbox with today's date?

總是值得一快速谷歌搜索;)

製作代碼具體到你的代碼將是這樣的:

var today = new Date(); 
today.setDate(today.getDate()+4); 
future =(today.getMonth()+1) + '/' + today.getDate() + '/' + today.getFullYear(); 

$("#alternate").val(future); 

這裏有一個的jsfiddle真人版:http://jsfiddle.net/NXFy2/


編輯:你可以使用內置的格式的日期選擇器來格式化一個新的日期實際上是:

$.datepicker.formatDate('yy-mm-dd', new Date(2007, 1 - 1, 26)); 

見的例子和文檔瀏覽:http://docs.jquery.com/UI/Datepicker/formatDate


進一步編輯:要繼續使用初始密碼一起使用的日期選擇器formatDate函數拿到今天的日期或不過從今天的許多日子裏,你可以做到以下幾點:

$("#calendar").datepicker({ minDate: +4, maxDate: "+1M +4D", dayNamesMin: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], prevText: '<<', nextText: '>>', changeMonth: false, changeYear: false, altField: "#alternate", altFormat: "DD, d MM, yy", gotoCurrent: false, defaultDate: '+4'}); 

var today = new Date(); 
today.setDate(today.getDate()+4); 

$("#alternate").val($.datepicker.formatDate('D, dd M yy', today)); 

這裏是的jsfiddle:http://jsfiddle.net/xX5AM/4/

+0

感謝那太好了,我使用的,因爲它是我在Google上找到的內容,但它會以不同的日期格式提交價值,以便您選擇日期。例如它提交2012年1月30日,而不是週一,1月30日,2012年 – Ben

+0

啊確定...您可以使用日期選擇日期格式,...查看編輯。 –

+0

我得到它的工作,但它顯示在代碼中輸入的日期而不是當前日期+ 4天。我如何更改新日期(2007,1-1,26)以列出當天+4天?再次感謝 – Ben

相關問題