【问题标题】:jQuery Dialog issue with close and load关闭和加载的jQuery对话框问题
【发布时间】:2016-04-17 04:34:16
【问题描述】:

我有一个 jQuery 对话框,可以在其中加载另一个页面。 好吧,它只有第一次才能正常工作,如果我尝试再次打开对话框,Chrome 开发者工具会显示:

未捕获的类型错误:$(...).dialog 不是函数

对话框没有打开。

这是我拥有的 jQuery 代码:

$(function() {

  $( "#dialog" ).dialog({
     autoOpen: false,
     title: 'Dettagli contratto',
     height: 150,
     width:350
  });


  $( ".opener" ).click(function() {
    $( "#dialog" ).load( "contracts.php" );
    $( "#dialog" ).dialog( "open" );
  });


});

我认为问题在于 load() 函数。事实上,如果我删除此功能,它就可以正常工作。

有什么帮助吗?谢谢!

【问题讨论】:

  • jQuery 会在你调用dialog() 时添加元素,以便真正进行对话。当您致电 load() 时,您会将所有内容替换为新内容。

标签: javascript jquery jquery-ui dialog


【解决方案1】:

我强烈怀疑您的contracts.php 包含与<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 非常相似的jQuery 脚本标签。因此,每当您在对话框中加载 contracts.php 时;所有先前初始化的小部件/插件都被清除了。

要克服这一点;尝试从contracts.php 中删除 jQuery 脚本标签,看看你得到了什么。

【讨论】:

  • @L.Soprano - 有帮助吗...?
  • 那么 load 现在也可以执行脚本了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-26
  • 1970-01-01
  • 1970-01-01
  • 2020-06-21
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
相关资源
最近更新 更多