JS脚本不适用于使用jQuery的.load()加载的div - javascript

所以我的div里面有一些php。它正在从sql数据库执行一些记录。

<div id="records">
  <?php
  list_query(select_records()); // some php returning divs
  ?>
</div>

我正在使用物化的collapsible来查看该记录的更多信息。当您单击该行(记录)时,它会像在实现实例中一样展开。

我上面有html select,您可以在此处选择要从哪个日期返回这些记录。

<form class="ajax" action="action/timeSort.php" method="post">
  <select name="timeSort" class="timeSortSelect">
    <option value="1">Last 24 hours</option>
    <option value="7">Last 7 days </option>
    <option value="30">Last 30 days</option>
    <option value="365">Last 365 days</option>
    <option value="all" selected>Everything</option>
  </select>
</form>

当您选择任何选项时,都比我调用了jquery ajax。它将发送帖子到php文件,并在其中创建带有时间戳的php $_SESSION,如果ajax成功,则此函数称为:

$('#records').load(document.URL +  ' #records');

并在该php list_query()函数中,读取该$_SESSION并从那时开始对其进行排序。

问题在这里:
但是问题是,那些用jQuery的.load()函数加载的新返回记录的脚本(单击事件,事件,事件等等)不起作用。 on('event')不起作用,click()不起作用,自定义实现初始化不起作用。甚至没有delegate事件。

我试过了:
1)在该script src div的末尾放置新的#records标记,因此它将再次加载这些脚本-不起作用

2)运行.load()后执行这些功能-不起作用

// try #2 example
$('#records').load(document.URL +  ' #records');
$('.collapsible').collapsible(); // doesn't work
$('#records .clickingElement').on('click', function() {/*blah blah*/}) // doesn't work

可能的解决方案,我现在不想做:
1)从该php操作文件中获取有关这些记录的某种信息,并通过jQuery将其附加,而不是delegate事件或我的尝试#1起作用。但这不是一件好事,但我会尽力的。

2)刷新整个站点。 Pfff,我比那更好,没有人喜欢强制刷新。

主要问题:是否有jQuery解决方案,例如一些特殊事件?还是您有一个更好的主意,如何以更好的方式实现相同的排序?

如果您不了解某些内容或需要更多代码,请随时对此发表评论。谢谢你的帮助。

编辑:它看起来如何执行和工作的图像示例(单击它时它会像这样展开)

JS脚本不适用于使用jQuery的.load()加载的div - javascript

javascript参考方案

您需要设置点击功能:

$('#records .clickingElement').on('click', function() {/*blah blah*/}) // doesn't work

对此:

$(document).on('click', '#records .clickingElement', function() {
    /*blah blah*/
});

这样可以确保事件触发器遍历整个dom,以查看#records或.clickingElement是否存在。取而代之的是,仅绑定到加载时的那些元素。如果那有意义的话。

这为您提供了一个很好的答案:Click event doesn't work on dynamically generated elements

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

打印二维阵列 - javascript

我正在尝试打印子元素。在this example之后。怎么做?。$myarray = array("DO"=>array('IDEAS','BRANDS','CREATIVE','CAMPAIGNS'), "JOCKEY"=>a…

使用JS和PHP更改弹出窗口背景图像 - javascript

我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …

Javascript到PHP的转换 - javascript

我有一个libphonenumber软件包的javascript端口,它具有以下功能:function cleanPhone(a){ a=a.replace(/[^\d\+]/g,""); return a="+"==a.substr(0,1)?"+"+a.replace(/[^\d]/g,…

使用C#和JavaScript绑定HTML - javascript

我想从C#绑定HTML。我尝试了下面的代码HtmlTextWriter.write("<a onclick=\"window.open('', '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=yes…