Jquery模板文本框未显示datepicker

时间:2010-12-29 04:19:57

标签: jquery jquery-ui jquery-templates

我在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 个答案:

答案 0 :(得分:1)

在您使用模板将某些内容插入页面之前,#HireDate元素不存在。因此,当您尝试在DOM准备就绪时绑定datepicker时,$('#HireDate')会返回一个空列表(即$('#HireDate').length == 0),并且没有任何有用的事情发生。

解决方案是在模板填写并插入页面后绑定日期选择器。像这样:

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