如何让jQueryUI选项卡直接加载URL/页面?
我有一组选项卡,其中href是我希望在选中选项卡时加载的URL 在文档之后,我添加了以下选择选项如何让jQueryUI选项卡直接加载URL/页面?,jquery,jquery-ui,Jquery,Jquery Ui,我有一组选项卡,其中href是我希望在选中选项卡时加载的URL 在文档之后,我添加了以下选择选项 $('#example').tabs({ select: function(event, ui) { var url = $.data(ui.tab, 'load.tabs'); if( url ) { location.href = url; return false; } return true; } }); 在ASP.NET母版页每个页面顶部的标记中 页面将加载,但该选项卡从
$('#example').tabs({
select: function(event, ui) {
var url = $.data(ui.tab, 'load.tabs');
if( url ) {
location.href = url;
return false;
}
return true;
}
});
在ASP.NET母版页每个页面顶部的标记中
页面将加载,但该选项卡从未被视觉选择,即,即使显示tab 3内容,第一个选项卡始终被选择
在FireBug中跟踪上面的脚本时,一旦执行location.href=url,就会加载新页面,并且永远不会执行return语句。这是个问题吗
谢谢
附加信息
我只是想澄清一下,我不是想通过Ajax加载选项卡的内容,而是需要回发。与回发一起,我希望单击的选项卡成为所选选项卡。此外,上面的示例来自jQueryUI/Tabs页面的第3.6节
在中跟踪上面的脚本
FireBug,一旦找到location.href=url
执行新页面加载和
return语句永远不会执行。
这是个问题吗
执行location.href=url后,您将离开页面,当前代码将停止执行
从代码中,您无法知道要选择哪个页面是当前页面。您需要将CSS选择器添加到当前元素中,以指示该元素,或者通过AJAX加载内容
要选择当前选项卡,请执行以下操作:
您需要知道的第一件事是哪个页面对应于哪个选项卡。由于您并没有提供这样的信息,我将假定URL具有定义所选选项卡的选项卡参数
您需要在ASPX todo:validate QueryString中提供currenttab的索引:
<%= string.Format("var currentTab = {0};", Request.QueryString["tab"]) =>
但请:
请注意,在新窗口中打开选项卡
窗口是意外的,例如。
暴露错误的不一致行为
实用性问题
要通过AJAX加载选项卡,请执行以下操作:
我不知道你在哪里可以找到你在jQuery文档中发布的代码,但那是不正确的
根据报告:
Tabs支持通过加载选项卡内容
以不引人注目的方式使用Ajax
您需要的HTML稍微有些复杂
与所使用的不同
对于静态选项卡:链接列表
指向来自的现有资源
加载内容时没有
所有额外的容器
不引人注目的容器的标记
将动态创建:
因此,HTML应该是:
<div id="example">
<ul>
<li><a href="ahah_1.html"><span>Content 1</span></a></li>
<li><a href="ahah_2.html"><span>Content 2</span></a></li>
<li><a href="ahah_3.html"><span>Content 3</span></a></li>
</ul>
</div>
$(function() {
$("#example").tabs();
});
谢谢你的信息,德米特里。文档信息在第3.6节的选项卡url后面。。。我需要进行实际的回发,而不是通过Ajax加载信息。我想做的是回发并加载新页面,让所选选项卡反映新内容。
$(function() {
$("#example").tabs();
});