Microsoft JScript运行时错误:'ShowDatePicker'未定义

时间:2010-03-29 03:12:45

标签: javascript jquery vb.net

解决在更新面板内回发后我的jquery datepicker不显示的问题。

日历的文本框(触发器)包含在控件中,该控件包含在更新面板中。

我找到了一篇协助解决这个问题的文章,它告诉我要做以下事情

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim tScript As String = "$(function(){ Sys.WebForms.PageRequestManager.getInstance().add_endRequest(ShowDatePicker); });"
        Page.ClientScript.RegisterStartupScript(Me.GetType(), "async_" & Me.txtAquisition.ClientID, tScript, True)

然后在ascx上我有

<script type="text/javascript">
 function showDatePicker(sender, args) {
     var control = document.getElementById("<%=txtAquisition.ClientID %>")
     alert(control);
    $(control).each(function()
   {
      $(this).datepicker({ showOn: 'focus' });
    });
 }
 </script>

但是我收到了一个未定义的错误。

我是否以正确的方式接近这个?确保我的datepicker在更新面板中仍然可用的任何其他建议?

想到这可能是因为我将控件嵌套在更新面板中......事实上其中有几个。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

Javascript区分大小写,ShowDatePicker!= showDatePicker。你需要在两个地方匹配案例。

此外,您可以将该功能缩短至:

function showDatePicker(sender, args) {
  $("#<%=txtAquisition.ClientID %>").datepicker({ showOn: 'focus' });
}