我正在为我的雇主开发一个网络应用程序,我正在使用一些jquery。我相当擅长PHP,但在jquery中丢失了。我的问题如下:
我有一个工作标签页,可以在首次加载时加载一个怪物PHP页面。我需要确保只在调用页面时才加载此特定选项卡(仅限第一次)。我已经缓存了初始选项卡,如果您单击另一个选项卡,一切都很好。问题是,当您从选项卡中单击链接时,它会重新加载怪物PHP页面。这是代码:
$(document).ready(function() {
$("#frame").hide();
$("ASA").tabs({ cache: true });
$("#tabs").tabs();
});
function CH(ids){
$("#tabs").tabs("select" , "#CH");
$('#CH').load('test.php?id='+ids);
cache : true
}
function onIFrameLoad() {
$("#loader").hide('slow');
$('#frame').slideDown('slow');
}
功能CH是我遇到麻烦的地方(我猜)。我有缓存:真的在那里,但它是在黑暗中拍摄。我想要缓存的唯一选项卡(此时)是主选项卡(ASA)。 谢谢你的帮助。
答案 0 :(得分:0)
使用缓存的正确语法是
$( ".selector" ).tabs({ cache: true });
但是,只有在远程加载每个选项卡(即ajax)时,这才有效。如果您使用文档提供的原始HTML结构,则没有理由这样做,因为所有选项卡的所有内容都是最初加载的。你也不能(据我所知)为各个标签打开缓存。
我们真正需要看到的是您为此获得的HTML结构。此外,选择器$("ASA").tabs({ cache: true });
可能无法正常工作,因为ASA
不是有效的HTML元素。
答案 1 :(得分:0)
好的......所以这是一个完整的黑客/解决方法,但我有一个解决方案。如果有人可以指导我,我很乐意听到这样做的正确方法,但这就是我所做的:
在每个标签中,我预先加载一个空白的iframe 我的链接现在都指向iframe而不是函数。 每个iframe都会调用一个函数来从父级中“选择”其选项卡。
结果是加载后显示选项卡,主选项卡永远不会刷新。
同样,我知道这是一个黑客,如果你有更好的方法,请告诉我。