2011-09-05 9 views
9

주어진 클래스의 모든 텍스트 입력이 datepicker가되어야합니다. 다음과 같이하십시오 :JQuery : delegate and datepicker

$("input[type=text].time").datepicker(); 

그러나 나는 대리인이 필요하다고 생각하므로 Jquery.load()를 통해 많은 코드를 추가하고 있습니다. 문제는 내가 아는 한로드 이벤트를 대리자에서 사용할 수 없기 때문에 어떻게해야할지 모릅니다. 만약 존재한다면 그것은 쉬운 것입니다 : 당신은 당신이 타겟팅 할 수있는 다른 용기에 코드가 있다면 내가 모르기 때문에

$(document).delegate("input[type=text].time", "load", function(){ 
    $(this).datepicker(); 
}); 
+1

나는 대리인의 필요성을 볼 수 없습니다 : 여기

은 대표와 특정 div을 대상으로 바이올린입니다. –

+0

AJAX를 통해 해당 클래스의 새 입력 ("시간")이 포함 된 페이지를로드하는 경우 델리게이트를 사용하지 않고 데이터 피커가 자동으로 활성화되지 않습니다. jquery.load()에서 많은 데이터를로드하고 datapicker 클래스 일뿐만 아니라 각 페이지로드시 손으로 설정해야하는 경우가 많습니다. – Ivan

+2

콘텐츠를로드하는 경우 '성공'에 datepicker를 추가하십시오. 나는 당신이'.load()'를 사용하고자하는 좋은 방법을 찾지 못했다. –

답변

16
$("body").delegate("input[type=text].time", "focusin", function(){ 
    $(this).datepicker(); 
}); 

나는 몸에 대리자를 사용했다. 단지 독자를 혼란 것을 ....

http://jsfiddle.net/MpqAy/

+0

클릭 할 때마다 올바른 결과에 날짜 선택 도구를 추가해보십시오. –

+0

정확히 내가 찾고있는 것이 아니지만 작동합니다. 많은 시간을 다시 초기화 할 때 무슨 일이 일어날 지 모르겠다 datepicker – Ivan

+0

@jk 그게 좋습니다. 게시 해 주셔서 감사합니다. 그것은 내가 찾고 있었고 완벽하게 작동하는 것입니다. 처음으로. –