2012-10-01 2 views
1

요소를 복제하는 데 문제가 있습니다. jQuery UI DatePicker는 요소 복제 후 작동하지 않습니다. 예 : http://jsfiddle.net/V25qA/1/에 링크하십시오.복제 요소 후에 Jquery UI Datepicker가 작동하지 않습니다.

+0

나를 위해 어떤 브라우저에서 작동합니까? – undefined

+0

내 브라우저는 Opera 12.02입니다. 첫 번째 입력을 클릭 한 후 요소 복제 후 복제 된 요소를 클릭하십시오. – nvcenter

답변

1

나는 오페라에서도 나를 위해 잘 작동하는 것 같다.) 대신 .live의() 이러한 경우

은 ... 당신이 새로 만든 요소에 대한 작업이 클릭 이벤트를 원하는 경우 이벤트를 위임하려고 또한
$('form').live('click', '.dpicker', function(){ 
    alert('clicked') 
    $(this).datepicker().focus(); 
}); 

난 당신이 CSTE 연구진를 (사용하는 것이 좋습니다 .live은 1.7

DEMO

1

변경 다음 줄 JQuery와 버전으로 사용되지 않습니다으로

01 23,

$('.dpicker').eq(0).clone().removeClass("hasDatepicker").prependTo('#new'); 

에 그 다음 작동합니다.

Datepicker는이 요소가 날짜 피커가 사용 설정된 경우 .datepicker();을 통해 'hasdatepicker'클래스를 요소에 할당합니다. 이 요소를 복제하면 속성도 복제됩니다. 이 때문에에 전화 할 때 datepicker 플러그인이 아무런 효과가없는 것입니다. 이 클래스를 삭제하면 datepicker는 새 요소에서 예상대로 작동합니다.

2

jQuery 위젯을 안전하게 (안전하게) 복제 할 수 없습니다. 복사 할 수없는 상태가 있습니다.

복제하기 전에 이전 요소에 .datepicker('destroy')을 호출 한 다음 복제 된 입력 요소에서 .datepicker()을 다시 호출하여 다시 초기화해야합니다.

관련 문제