2012-05-06 2 views
4

나는 "15 월 2012"로 설정된 값 속성을 가진 INPUT 태그가 다음과 같이 내가 함께 JQuery와 UI 날짜 선택기를 초기화 한 : 어떤 이유왜 JQuery UI Datepicker를 구성하면 필드의 값이 지워지나요?

<input type="text" name="schedule" id="schedule" 
     value="15-May-2012"> 

<script type="text/javascript"> 
    $(function() { 
    $("#schedule").datepicker(); 
    $("#schedule").datepicker("option", "dateFormat", "d-M-yy"); 
    }); 
</script> 

의 INPUT 태그의 값이 Datepicker가 초기화되면 지워집니다. INPUT 필드의 값이 Datepicker에 설정된 형식과 일치합니다.

왜 값이 지워지나요? 당신이 날짜 선택기 바인딩 할 때 http://agnelkurian.com/lab/datepicker_example.html

답변

12

: 여기

그것의 살아있는 예입니다

$('#schedule').datepicker(); 

가 기본 dateFormat을 사용하고 그 "mm/dd/yy"입니다; "15-May-2012"은 해당 형식과 일치하지 않으므로을 사용하여 구문 분석에 실패한 경우 datepicker가이를 지 웁니다.

$("#schedule").datepicker("option", "dateFormat", "d-M-yy"); 

하지만 value가 이미 손실되었습니다 : 그럼 당신은 형식을 변경합니다.

당신이 날짜 선택기 바인딩 할 때 당신은 형식을 설정해야합니다

$("#schedule").datepicker({ 
    dateFormat: 'd-M-yy' 
}); 

데모 : http://jsfiddle.net/ambiguous/mHyn7/

-1
$("#schedule").datepicker(); 
$("#schedule").datepicker("option", "dateFormat", 'd-M-yy'); 
$("#schedule").val("15-May-2012"); 
2

간단한 솔루션을 실제로 작동 :

var tmp = $('#schedule').val(); 
$("#schedule").datepicker("option", "dateFormat", "d-M-yy"); 
$("#schedule").val(tmp); 
관련 문제