2011-01-17 4 views
3

사용자가 alt 필드가 업데이트되지 않는 입력 필드에서 직접 날짜를 변경하는 문제가 있습니다. alt 필드가 업데이트되는 유일한 시간은 달력을 사용하여 특정 날짜를 선택하는 경우입니다.Jquery UI datepicker plugin - alt 필드를 변경하는 방법?

코드 예제 :

$this 
.find('#'+strInputID) 
.datepicker({altField: '#alt_'+strInputID, altFormat: 'dd/mm/yy', minDate: new Date()}) 
.datepicker("setDate" , dDfltDate); 

입력 필드 변경 지역화에 따라 때문에 나는 altFormat를 사용하고, 그래서 입력이 변경되었습니다 직접마다에 걸쳐 값을 복사 할 수 있습니다.

Jquery Datepicker에 허용되는 항목이 있습니까?

여기 이벤트 목록은 내가 원하는하지 않습니다 http://jqueryui.com/demos/datepicker/

사람이 고정 될 수 있는지에 대한 답변이 있습니까?

편집 : 이 예를 http://jqueryui.com/demos/datepicker/#alt-field 작품, 내가하지 않았다 다른 예를 발견했다. 우리가 1.8.7이 아닌 v1.7.3을 사용하고 있기 때문에 이것이 문제가 될 수 있다고 생각할 수 있습니다.

업그레이드 할 수 없으므로 테스트를 계속 진행하고 있는지 확인하십시오. 다른 사람이 알고 있다면 알려주세요. 감사합니다

+0

"수동 항목 및 필드/대체 필드를 동기화"하는 데 사용되는 1.8.8 jquery.ui.datepicker에서 _doKeyUp 함수를 찾았습니다.이 항목은 이후에 나오는 항목이므로 아무도 제안 사항이 없으면 같은 일을 할 사용자 지정 코드를 추가 한 다음 알려주세요. – Pricey

답변

2

나는이 입력 필드의 KeyUp 이벤트에에 1.8.8 날짜 선택기 코드에 볼트로 작업을 진행하게 관리하지만,이 우아한 접근하지 :(다른 제안을 환영합니다. 감사합니다

var inputField = $this.find('#'+strInputID); 
inputField.datepicker({altField: '#alt_'+strInputID, altFormat: 'dd/mm/yy', minDate: new Date()}).datepicker("setDate", dDfltDate); 
inputField.keyup(function (event) { 
    var inst = $.datepicker._getInst(event.target); 
    if (inst.input.val() != inst.lastVal) { 
     try { 
      var date = $.datepicker.parseDate($.datepicker._get(inst, 'dateFormat'), 
       (inst.input ? inst.input.val() : null), 
       $.datepicker._getFormatConfig(inst)); 
      if (date) { // only if valid 
       $.datepicker._setDateFromField(inst); 
       $.datepicker._updateAlternate(inst); 
       $.datepicker._updateDatepicker(inst); 
      } 
     } 
     catch (event) { 
      $.datepicker.log(event); 
     } 
    } 
}); 
+0

내 자신의 질문에 대답하면 Jquery UI를 업그레이드하는 것이 가장 좋습니다. 1.8.8은 jQuery 1.3.2+에서 안정적입니다. – Pricey