【问题标题】:jquery calls are not fired in update panel更新面板中不会触发 jquery 调用
【发布时间】:2014-04-14 12:23:36
【问题描述】:

我有一个更新面板,每 1 分钟更新一次。

在其中,我有两个输入文件,当我单击每个文件时,会调用一个 datepicker 函数。 我为日期选择器包含这些脚本

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"/>
    <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
    <link rel="stylesheet" href="/resources/demos/style.css"/>

另外,我的head 标签中有这个脚本

<script>
        $(function () {
            $("#CldrFrom, #CldrTo").datepicker();
        });
    </script>

日期选择器在更新面板更新内容之前工作。但在那之后,它不再工作了。

请问我该怎么办?

注意

我的一个脚本中已经有function pageLoad(sender, args),但我认为这不会导致问题

【问题讨论】:

  • 每次更新后再次尝试运行$("#CldrFrom, #CldrTo").datepicker();
  • @Aristos 它不是重复我的朋友,那是一个网格视图,这使它完全不同
  • @user3432257 不是gridview 的问题,而是UpdatePanel 的代码。看看我的回答,和这里的完全一样。
  • @wrxsti 请问在哪里?你的意思是在pageload 函数中?

标签: javascript jquery asp.net datepicker updatepanel


【解决方案1】:

您需要在更新面板中每次刷新后重新初始化日期选择器,使用此代码

$(document).ready(function () {
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoaded)
});

function PageLoaded(sender, args) {
    $("#CldrFrom, #CldrTo").datepicker();

}

【讨论】:

  • 让我试一试,告诉你结果
  • 是的,应该这样做。
  • 伙计们,似乎即使在更新面板工作之前,我的日期选择器也无法工作。请问为什么?
  • 正如我向您展示的那样。我在我的头标签的脚本中初始化它。它是否正确?在我添加更新面板之前它正在工作
  • 尝试在 PageLoaded() 函数中放置一个警报,以检查它是否在每次更新后被触发
【解决方案2】:
$(function () 
{
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoadedUserFunc)
});

function PageLoadedSUserFunc(sender, args) 
{
    $("#FromDate, #ToDate").datePicker();
}
//Select by Id method is used here. 

假设 FromDate 和 ToDate 存在于更新面板中,每当页面加载发生时都会刷新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多