点击和更新时jquery更改变量

时间:2010-04-15 02:21:50

标签: jquery load

我有一个PHP页面,它使用$ _GET ['file']来确定页面上输出的内容。在一个名为index.php的页面上,我使用jQuery ajax函数在index.php中加载PHP页面,如下所示:

$.ajax({
  url: "data.php",
  data: {file: 'folder/'},
  success: function(data) {
    $('#remote-files').html(data);
  }
});

将此视为服务器文件浏览器(显示服务器上的文件和文件夹)。上面的数据变量确定它应该在名为'folder'的文件夹中启动。现在,它将在页面上显示一组文件夹和文件,这些文件夹位于名为“folder”的文件夹中。我想要做的是能够单击'文件夹'中的一个文件夹并进入该新文件夹。现在的问题是,上面的函数几乎似乎取消了它下面的javascript,因为在该脚本下我有一个函数,当用户将鼠标悬停在文件夹上时,背景颜色会发生变化(这是通过jQuery完成的),但是当脚本存在时,背景在悬停时不会改变,但如果我在上面的函数下添加alert('hi');,它将起作用。

所以基本上我问有没有办法可以点击文件夹,更新$ _GET ['file']变量而不刷新或重新加载页面,只需更新加载的页面?

2 个答案:

答案 0 :(得分:0)

真的需要更多代码来提供更好的答案。

我的猜测是你需要做一些事情:

$.ajax({
  url: "data.php",
  data: {file: 'folder/'},
  success: function(data) {
    $('#remote-files').html(data);
    //now apply the mouseover/out handlers to the *new* elements inside #remote-files.  They are brand new!
  }
});

对.html()的调用是将HTML代码插入到元素中,从而创建了一堆闪亮的新子元素。如果您将处理程序附加到原始元素,则需要再次为新元素执行此操作。

如果这不对,请发布更多代码,以便我们了解您的工作方式。问题中的代码太少,无法弄清楚发生了什么。

答案 1 :(得分:0)

当您的PHP文件输出HTML时,它应该/可以采用以下格式

HTML:

<a href="javascript: loadSubfolder('path/to/subfolder')">Subfolder</a>

和javascript:

function loadSubFolder(folder) {
    $.ajax({
        url: "data.php",
        data: {file: folder+'/'},
        success: function(data) {
        $('#remote-files').html(data);
        //now apply the mouseover/out handlers to the *new* elements inside #remote-files.  They are brand new!
        }
    });
}