2011-01-13 5 views
4

jQuery에서 datepicker를 사용하고 있습니다. 일단 선택되면 9Feb, 11로 표시하고 싶습니다. 그러나 절약 할 때 2/9/11로 변환하고 싶습니다. 어떻게해야합니까?DatePicker 형식

dte를 다시 표시하면 9Feb, 11이 다시 표시됩니다. 어떻게해야합니까?

@Html.TextBoxFor(m => (Model.dDay.Date)) 

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

답변

3

'altField'옵션을 사용하여 양식에서 숨겨진 필드를 채울 수 있습니다. 날짜 필드를 숨김 : <input type="hidden" name="date" id="date" value=""/>으로 변경하면됩니다. alt 필드의 형식을 'altFormat'으로 설정합니다.

$("#date_display").datepicker({ 
    dateFormat: 'd M y', 
    altField: '#date', 
    altFormat: 'dd-M-yy' 
}); 
0

당신은 페이지에 숨겨진 입력 필드를 추가 할 수 있습니다 다음과 같이 코드의

내 작품이다. altFieldaltFormat 옵션을 사용하면 데이터를 다른 형식으로 사용자에게 보낼 수 있습니다.

이렇게하려면 DateTime 형식에 대한 사용자 지정 편집기 템플릿을 만들 수 있습니다. DateTime.cshtml 파일을 Views/Shared/EditorTemplates 폴더에 추가하십시오.

그런 다음 (하지 테스트)이 같은 내용을 사용할 수 있습니다

@model DateTime? 
@using System.Globalization 
@{ 
    var name = MvcHtmlString.Create(ViewData.TemplateInfo.GetFullHtmlFieldName("")); 
    var id = MvcHtmlString.Create(ViewData.TemplateInfo.GetFullHtmlFieldId("")); 
    var visibleID = id + "_editor"; 

    var value = Model ?? DateTime.Today; 
    var formattedValue = value.ToString("dd MMM yyyy"); 

} 
<input type="text" id="@(visibleID)" value="@formattedValue" /> 
<input type="hidden" id="@(id)" name="@(name)" value="@value.ToString("yyyy/MM/dd")" /> 
<script type='text/javascript'> 
    $(function() { $('#@(visibleID)').datepicker({ dateFormat: 'd mm y', altField='@id', altFormat='d/m/y' }); }); 
</script> 

그런 다음 당신은 단지 TextBoxFor을 사용해야합니다, 어떤 날짜 시간 필드를 활성화하여 DateTimePicker있을 것이다.

+0

위의 작업을 더 간단하고 깨끗하게 수행 할 수있는 방법이 있습니까? – learning

+0

한 번만 DateTime.cshtml을 추가하십시오. 그런 다음 페이지에서 TextBoxFor를 사용하면됩니다. 얼마나 청결 할 수 있습니까? – GvS

+0

좋아, 나는 그것을 이해하지 못했다. 도우미가 있습니까? – learning