2010-12-29 8 views
0

Jquery 템플릿의 텍스트 상자 중 하나에서 Datepicker를 사용하고 있는데 팝업이 표시되지 않습니다. 템플릿 잘 작동합니다. 아래는 내가하고 싶은 일입니다. 당신이 페이지에 어떤 내용을 삽입하는 템플릿을 사용할 때까지Jquery 템플릿 텍스트 상자에 datepicker가 표시되지 않습니다.

jQuery().ready(function() { 

    //$("#HireDate").datepicker(); 
    $("#HireDate").datepicker({dateFormat:'dd-mm-yy', showAnim:'fadeIn'}) 


}); 

<script id="UserDetailTemplate" type="text/x-jquery-tmpl"> 

<table style="width:100%;"> 
     <tbody>    

         <tr> 
          <td style="width:25%;font-weight:bold;">HireDate:</td> 
          <td><input type="text" id="HireDate" value="${ HireDate }" /></td> 
         </tr> 

        </table>       
        </td> 
      </tr> 
     </tbody> 
</table> 
</script> 

답변

1

#HireDate 요소가 존재하지 않습니다. 따라서 DOM이 준비 될 때 날짜 표시 줄을 바인딩하려고하면 $('#HireDate')은 빈 목록 (즉, $('#HireDate').length == 0)을 반환하며 아무런 도움이되지 않습니다.

해결 방법은 다음에 날짜 피커 을 바인딩하고 템플릿을 채우고 페이지에 삽입하는 것입니다. 다음과 같은 내용 :

$('#UserDetailTemplate').tmpl(data).appendTo('#something'); 
$('#HireDate').datepicker({ dateFormat: 'dd-mm-yy', showAnim: 'fadeIn' }); 
관련 문제