2012-01-26 3 views
0

페이지로드시 선택된 날짜를 얻으려고합니다. 이는 페이지로드시 오늘 날짜로부터 4 일 후 사용자가 사이드 바에있는 필드를 자동으로 채 웁니다. 배달 날짜를 선택할 수 있습니다.페이지로드의 다른 필드에 날짜를 미리 채우기

필자는 필드를 채울 날짜를 가져 왔지만 클릭 한 번만 가져 왔습니다. 페이지가로드되면 현재 날짜가 자동으로 강조 표시됩니다. 즉, 달력과 같이 항상 내 datepicker가 표시되는 것처럼 날짜 표시기를 보면 날짜를 선택하지 않고 계속할 수 있습니다.

내 코드를 아래에 붙여 넣었습니다. 내 datepicker는 # 캘린더에 있고 값은 #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

파이어 폭스 9와 IE 9 모두 [jsFiddle] (http://jsfiddle.net/GoranMottram/f4JDh/1/) 코드가 잘 작동하는 것 같습니다. –

답변

2

편집 :

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

항상 가치가 빠른 구글 검색)

그 코드 만들기 귀하의 코드와 관련된 내용은 다음과 같습니다 :

http://jsfiddle.net/NXFy2/


편집 : 여기

var today = new Date(); today.setDate(today.getDate()+4); future =(today.getMonth()+1) + '/' + today.getDate() + '/' + today.getFullYear(); $("#alternate").val(future); 

가 jsfiddle 라이브 버전의 당신은 실제로 새 날짜 형식을 포맷에 내장 된 날짜 선택기를 사용할 수 있습니다

$.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 일 월요일이 아닌 2012 년 1 월 30 일 제출합니다. – Ben

+0

아 .. 좋아요. datepicker 날짜 형식을 사용할 수 있습니다 ... 수정을 참조하십시오. –

+0

Ive가 작동하지만, 현재 날짜 + 4 일이 아닌 코드에 입력 한 날짜가 표시됩니다. 현재 날짜 + 4 일을 나열하기 위해 새로운 날짜 (2007, 1 - 1, 26)를 변경하려면 어떻게합니까? 다시 한 번 감사드립니다 – Ben

관련 문제