2010-07-13 5 views
1

"Xin's Popup Calendar"이라는 동적 드라이브의 JavaScript 기반 팝업 달력을 사용하고 있으며 완벽하게 작동합니다. 그러나, 나는 의 선택에 따라 두 번째 텍스트 상자의 날짜를 조정할 수 있기를 원합니다. 예를 들어 팝업에서 선택한 날짜가 +1 일인 일 때 자동으로 조정할 수 있기를 원합니다. 어떻게해야합니까? firstinput 날짜가 3/21/10 경우, 나는 secondinput 동시에 4/21/10로 변경할팝업 캘린더 선택에 따라 두 번째 텍스트 상자 업데이트

<input type="text" name="firstinput" size=20> 
<small><a href="JavaScript:showCal('Calendar1')">Select Date</a></small> 

<p> 
<input type="text" name="secondinput" size=20> 
<small><a href="JavaScript:showCal('Calendar2')">Select Date</a></small> 
</p> 

: 여기

은 예입니다.

+0

팝업이 사용되는 경우에만이 변경을 원합니까? 사용자가 날짜를 직접 입력 할 때가 아닐까요? 즉, 두 번째 입력이 첫 번째 입력으로부터 항상 1 개월 떨어져 있어야합니다. 사용자가 무엇을하든 상관 없습니다. –

+0

예, 기회가있을 때 직접 입력하면 +1 달 자동 추가 기능을 사용하고 싶지만 수동으로 조정을 무시할 수있는 능력이 필요합니다. 따라서 4/21/10으로 변경되었으므로 예를 들어 4/17/2010으로 변경할 수 있습니다. – Refiking

답변

0

(1) 데이터에 월을 추가하는 기능과 (2) 텍스트 상자에 변경 이벤트 처리기가 있습니다. 이 솔루션은 Xin Pop Up Calendar에 매우 한정적입니다.

function addMonth(d,month){ 
t = new Date (d); 
t.setMonth(d.getMonth()+ month) ; 
if (t.getDate() < d.getDate()) 
    { 
    t.setDate(0); 
    } 
return t; 
} 

$("input[name='firstinput']").change(function(){ 

var dt = $(this).val(); 
var yr = dt.substring(0,4); 
var mo = dt.substring(5,7); 
var dy = dt.substring(8,10); 

var firstDate=new Date(); 
firstDate.setFullYear(yr,mo-1,dy); 

var secondDate = addMonth(firstDate,1); 
$("input[name='firstinput']").val(secondDate.getFullYear() + "/" + secondDate.getDate() + "/" + secondDate.getMonth()+1); 

}); 
관련 문제