2012-03-14 2 views
0

jquery editortemplates가있는 datepicker를 구현했습니다. 특정보기 페이지에서 datepicker에 onselect 이벤트를 추가해야합니다. 날짜 피커 코드Jquery는 datepicker 선언없이 뷰 수준 jquery datepicker 템플릿을 선택합니다.

<script type="text/javascript"> 
    $(function() { 
     $('.dateofbirth').datepicker({ dateFormat: "dd/mm/yy" }); 
    }); 
</script> 

은 _layout.cshtml에 넣었습니다. 이제는 datepicker 요소를 다시 선언하면서 자식 페이지에서 필요한 이벤트를 트리거 할 수 없습니다. 어떤 방법으로도 datepicker onselect 메서드를 실행하고 자식 페이지에서 무언가를 수행 할 수 있으며 datepicker 구성 및 초기화는 _layout.cshtml에 남아 있습니까? 이

보기 같은

무엇인가 1 :

$('#dob').datepicker({onSelect: function(dateText, inst) { /*Calculate Age*/ }}); 

보기 2 :

$('#addmonths').datepicker({onSelect: function(dateText, inst) { /*Calculate New maturity Date*/ }}); 

난 그냥 자식 페이지에서 다시 #element의 날짜 선택기 요소를 redeclair 싶지 않다. 초기화는 편집기 템플리트에서 처리하도록하고 자식 페이지에서는 단지 을 호출하고 필요에 따라 재 선언없이 각각에 대해 메소드를 선택하십시오.

어쨌든 나는 그냥 메서드를 호출 할 수 있습니까?

답변

0

"옵션"방법을 사용하여 하나의 옵션 만 설정하면됩니다. 초기화에 대한 기본 방법을 사용하여

$('#dob').datepicker('option', 'onSelect', function(dateText, inst) { /*Calculate Age*/ }); 

- 당신의 매개 변수 객체는 기본값으로 extendet됩니다 (날짜 선택기에서 구현)과는 초기화 메소드에 전달.

http://jqueryui.com/demos/datepicker/#method-option

당신은 날짜 선택기에 대한 시스템 전체 기본값을 설정할 수 있습니다. http://docs.jquery.com/UI/Datepicker/setDefaults

+0

기본 설정에 영향을주지 않는다고 할 수 있습니까? datePicker를 다시 초기화하지 않고 onSelect 이벤트 함수를 사용하여 실제로 기본 설정을 확장합니까? – Joy

+0

죄송합니다. 'setDefaults'를 사용하면 기본값을 변경할 수 있습니다. 옵션 배열로 입력을 초기화하거나 하나의 옵션 만 추가하면 선택한 입력에 대해서만 기본값이 확장됩니다. 그러나 기본값은 datepicker가있는 다른 입력에 대해 동일하게 유지됩니다. – StilgarBF

+0

오, 그래, 알았어. :) 대답 주셔서 감사합니다. :) – Joy

0

여기에 대한 답변이 있습니다. datepicker로 기본값을 설정하면 모든 기본 설정이 적용됩니다. 내가 onSelect를 넣어야 할 경우 우리는 다시

$('#dob').datepicker({onSelect: function(dateText, inst) { /*Calculate Age*/ }}); 

이 실제로 날짜 선택기를 다시 나던해야합니다. 그것이하는 것은 있습니다. 기본값 설정이 datepicker에 제공됩니다. datepicker 설정이 적용되고 select 이벤트는 datepicker가 이미 초기화 된 것을 발견하면 기존 datepicker에 연결됩니다. 따라서 반대쪽에 날짜 표시기는 다시 작성되지 않고 을 선택합니다. 선택 이벤트