我有一个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']变量而不刷新或重新加载页面,只需更新加载的页面?
答案 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!
}
});
}