2011-10-06 7 views
2

beforeShow에서 _generateHTML 함수를 다시 설정하여 코드에서 datepicker를 확장합니다. 즉, $.datepicker._generateHTML = function(a) { .. }jQuery UI Datepicker uuid 버그?

이 방법을 사용하면 버튼 패널의 버튼에 원하는대로 할 수 있습니다. 내 예제 코드는 다음과 같습니다. http://jsfiddle.net/benno_007/UjFEm/1/.

때로는 날짜 표시기가 작동하므로 (예 : 날짜를 클릭) 때때로 그렇지 않습니다. 이것은 내 datepicker가 생성되기 위해 1ms 이상 걸리고 그 결과 uuid가 밀리 초 밖에 있기 때문입니다. window["DP_jQuery_" + z]는 초기에 'z'로 설정되고 'z'는 버튼의 onclick에 대한 datepicker 플러그인 전체에서 사용 된 것입니다. 그러나 플러그인 코드의 끝에서 $.datepicker.uuid = new Date().getTime();를 설정하고 함수를 확장했기 때문에 $.datepicker.uuidDP_jQuery{time}을 대체해야합니다. 그러나 생성 시간이 오래 걸리므로 1ms를 벗어났습니다. datepicker로 무엇이든 할 수 없습니다.

d.datepicker.uuid = (new Date) .getTime()을 로컬 플러그인 코드에서 d.datepicker.uuid = z로 바꿈으로써이 문제를 해결할 예정입니다. 그러나 실제 질문은 다음과 같습니다.

jQueryUI의 datepicker에 버그가 있습니까?

+1

동일한 페이지에서 여러 날짜 피커를 사용할 수 있도록 설계된 것입니다. 비공식적 인 기능을 재정의하려는 경우 문제가 발생합니다 (일반적인 명명 규칙을 알고있는 것처럼 밑줄로 시작 함). datepicker의 제작자가 플러그인의 "개인적인"기능을 혼란에 빠뜨릴 것으로 예상하지 않았기 때문에 버그가 아닙니다. – WTK

+0

감사합니다. 그 일과 관련이 있다고 생각했습니다. 그것의 이상한, 내가 두 개의 datepickers를 추가했을 때, 그들은 둘 다 동일한 uuid를 가지고 있었고 두 번째를 클릭하면 첫 번째 입력 상자에 날짜를 넣었습니다. 어쩌면 거기서 뭔가를하지 않았을 수도 있습니다. – Benno

답변

0

WTK에 따르면, 의도적으로 설계된 버그 (버그가 아님)입니다.

그냥이 게시물을 닫을 것이라고 생각했습니다.