单击并更新jquery更改变量
我有一个PHP页面,它使用$_GET['file']来确定页面上输出的内容。在名为index.php的页面上,我使用jQuery ajax函数在index.php中加载php页面,如下所示:单击并更新jquery更改变量,jquery,load,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); } }); 将其视为服务器文件浏览器,显示服务器上的文件和文件夹。
$.ajax({
url: "data.php",
data: {file: 'folder/'},
success: function(data) {
$('#remote-files').html(data);
}
});
将其视为服务器文件浏览器,显示服务器上的文件和文件夹。上面的数据变量决定它应该在名为“folder”的文件夹中启动。现在,它将在页面上显示名为“folder”的文件夹中的一组文件夹和文件。我想做的是能够单击“文件夹”中的一个文件夹并进入该新文件夹。现在的问题是,上面的函数几乎抵消了下面的javascript,因为在该脚本下,我有一个函数,当用户悬停在文件夹上时,背景颜色会改变,这是通过jQuery完成的,但是当脚本存在时,悬停时背景不会改变,但是如果我添加一个警告“hi”;在上述功能下,它将工作
因此,基本上我在问有没有一种方法可以在不刷新或重新加载页面的情况下单击文件夹并更新$\u GET['file']变量,只需更新加载的页面?真的需要更多的代码才能给出更好的答案 我猜你需要做点什么:
$.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代码插入元素中,从而创建一组闪亮的新子元素。如果将处理程序附加到原始元素,则需要为新元素再次附加处理程序
如果这不正确,请发布更多代码,以便我们了解您的工作方式。问题中的代码太少,无法了解发生了什么。当您的PHP文件输出HTML时,它应该/可能是以下格式 HTML:
如果我像你那样添加代码,单击的链接会起作用,但是如果我在新文件夹中单击另一个链接,它将与父文件夹相同,没有链接会起作用。真的,真的需要查看更多代码。显然,如果你有一个文字“folder/”,你就需要有某种变量引用。一个想法是:不要让PHP发回HTML,而是让它发回一些漂亮的结构化JSON。然后编写javascript以编程方式更新远程文件的内容。这样你就可以在一个地方找到影响这些链接的所有代码。好吧,我现在知道我需要什么了,我需要有一个在点击文件夹时注册的功能,来识别新的div元素,因为我认为当它进入第二级文件夹时,它不识别新元素,也找不到旧元素。
<a href="javascript: loadSubfolder('path/to/subfolder')">Subfolder</a>
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!
}
});
}