【问题标题】:jQuery dialog not firing, Update panel on pagejQuery对话框未触发,页面上的更新面板
【发布时间】:2015-10-14 13:46:59
【问题描述】:
<asp:Content ID="conBody" ContentPlaceHolderID="cphClientBody" runat="Server">
    <asp:UpdatePanel ID="updpnlRate" runat="server">
        <ContentTemplate>
            page code..............
        </ContentTemplate>
    </asp:UpdatePanel>  

<script src="//code.jquery.com/jquery-1.10.2.js" type="text/javascript"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js" type="text/javascript"></script>

<script type="text/javascript" language="javascript">
    $(document).ready(function () {
        $("<div title='Basic dialog'>Test message</div>").dialog();
    });

这不是因为更新面板而触发的吗? 有什么解决办法吗?

【问题讨论】:

  • 您有母版页吗?如果是这样,你不应该把你的脚本放在 ContentPlaceHolder 的头部吗?
  • 您是否遇到客户端错误?检查浏览器的 F12 开发工具,查看控制台选项卡。
  • @mason 是的。未捕获的类型错误:$(...).dialog 不是函数
  • 这意味着 jQuery 或 jQuery UI 可能没有正确加载。因此,请转到浏览器开发工具中的“网络”选项卡,查看下载 .js 文件是否出错。
  • @mason 他们似乎已正确加载。会不会是页面调用了多个版本的jquery?

标签: javascript jquery asp.net jquery-ui


【解决方案1】:

我经常遇到这种情况。 $(document).ready(function () {}) 仅使用更新面板运行一次。

切换到 函数 pageLoad(sender, args) {}

【讨论】:

  • 您的对话框声明看起来不太正确不应该更像 $('#dlgName').dialog({})
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多