所以我的脚本看起来像这样
function() {
$( "#tabs" ).tabs();
});
function Wczytaj(link, div_id, parametr1, parametr2, parametr3)
{
$.ajax(link, { data: { par1: parametr1, par2: parametr2, par3: parametr3 },
type: "post",
success: function(data) {
$('#'+div_id).fadeOut("medium", function(){
$(this).append(data);
$('#'+div_id).fadeIn("medium");
});
}
});
}
Run Code Online (Sandbox Code Playgroud)
<div id="tabs">
<ul>
<li><a href="#id1" onClick="Wczytaj('trouble2.php','id1','null','null','null');">My id 1</a></li>
<li><a href="#id2" onClick="Wczytaj('trouble2.php?action=lista','id2','null','null','null');">My id 2</a></li>
<li><a href="#id3" onClick="Wczytaj('troubl2.php?action=old','id3','null','null','null');">My id3</a></li>
</ul>
<div id="id1"></div>
<div id="id2"></div>
<div id="id3"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
并且它的工作没有问题,但我也想使用URL地址来加载div内容,例如,http://myurl.com/page.php#id2应该使用选定的选项卡加载页面id2- 它可以工作,但由于onClick属性div是空的.怎么解决?
我为我的英语道歉
Roc*_*mat 20
您不需要使用自己的函数将AJAX加载到选项卡中,jQuery可以为您执行此操作.只需设置hrefURL,不要添加<div>s.
<div id="tabs">
<ul>
<li><a href="trouble2.php">My id 1</a></li>
<li><a href="trouble2.php?action=lista">My id 2</a></li>
<li><a href="trouble2.php?action=old">My id3</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery将生成选项卡,并通过AJAX 自动加载页面.请参阅此处的文档:http://jqueryui.com/tabs/#ajax
它也<div>将为您服务.在示例中,它们被命名ui-tabs-X,其中X是选项卡索引.因此,http://myurl.com/page.php#ui-tabs-2应该打开第二个选项卡加载页面.
在这里查看jQuery的演示:http://jqueryui.com/resources/demos/tabs/ajax.html#ui-tabs-2
编辑:如果要在加载远程选项卡之前或之后运行函数,jQuery UI将提供tabsbeforeload和tabsload事件.
创建选项卡时可以绑定它们:
$('#tabs').tabs({
beforeLoad: function(event, ui){
alert('loading');
},
load: function(event, ui){
alert('loaded');
}
});
Run Code Online (Sandbox Code Playgroud)
或者他们之后可以受到约束:
$('#tabs').on('tabsbeforeload', function(event, ui){
alert('loading');
});
$('#tabs').on('tabsload', function(event, ui){
alert('loaded');
});
Run Code Online (Sandbox Code Playgroud)