【问题标题】:jquery scripts inside a page called via an ajax call通过 ajax 调用调用的页面内的 jquery 脚本
【发布时间】:2010-12-11 07:02:35
【问题描述】:

所以,这些脚本不想工作。不知道该怎么办。如果我自己运行页面 B,一切正常。如果页面 A 对页面 B 进行 ajax 调用,则其中的任何脚本都不会起作用。我该怎么办? 提前致谢。

B页代码:

  chkBox = function() {
       jQuery("#docheckchildren").checkboxTree({
   collapsedarrow: "../img/img-arrow-collapsed.gif",
   expandedarrow: "../img/img-arrow-expanded.gif",
   blankarrow: "../img/img-arrow-blank.gif",
   checkchildren: true,
   checkparents: false
   });
}

页面 A ajax 调用:

$.ajax({  
     type: "GET",        
     url:"mypage.cfm",
     data:formData,        
     cache:false,       
     success: function(res) { 
     $('#dsp_Grid').html(res);
     chkBox();
     }
    , error: function(xmlHttpRequest, status, err) {
        confirm('Error! ' + status +':'+ err);
     }
  });

B 页: 如果我必须自己运行它,我必须添加以下内容:

(相同,pageA中src不同)

我认为部分问题是我正在加载从 pageB 返回的任何内容到 pageA 中的 div

$('#dsp_Grid').html(res)

【问题讨论】:

  • 这个问题需要更多的实质内容。我什至不知道你在说什么。你是说当你使用普通的旧 POST'ing 时你的页面可以工作,而当你使用 AJAX 方法时不能?
  • 代码,好吗?如果我们看不到代码,我们将无能为力。
  • 代码很多,我会尝试发布最相关的部分。我正在使用复选框树插件。选中顶层复选框后,它会自动检查下面的复选框。这段代码位于页面 B。页面 A,通过 ajax 调用: $.ajax({ type: "GET", url:"myURL.cfm", data:formData, cache:false, success: function (res) { $('#dsp_Grid').html(res); chkBox(); } , 错误: function(xmlHttpRequest, status, err) { confirm('Error!' + status +':'+ err); }

标签: jquery ajax call


【解决方案1】:

您可以:

  1. 在 AJAX 调用中使用回调函数调用通过 AJAX 加载的脚本或
  2. 使用live query 功能将您页面上的任何功能应用于新加载的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多