首先,恕我直言,不要问我为什么要这么做。这个请求是某人的请求,他有自己的理由D
所以,说到点子上。。。
假设"p1.php"包含以下代码:
<ul>
<li><a href="#tab1">Tab 1</a></li>
<li><a href="#tab2">Tab 2</a></li>
</ul>
<div id="tab1">
<?= $_GET['somechange1'] ?>
<a onclick="actionRunOnTab1()">some change 1</a>
</div>
<div id="tab2">
<?= $_GET['somechange2'] ?>
</div>
然后,我将"p1.php"包含在"p2.php"中,并添加了一些javascript,如下所示:
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.8.16.custom.min.js"></script>
<link rel="stylesheet" href="redmond/jquery-ui-1.8.16.custom.css" type="text/css" />
<div id="tab">
<? include 'p1.php'; ?>
</div>
<script language="javascript">
$(function() {
$('#tab').tabs();
});
// Some function
function actionRunOnTab1() {
$.get(
"p1.php",
{ somechange1 : 'Something to send out 1' },
function(data){
$('#tab').html(data);
$('#tab').tabs();
}
);
}
</script>
我在firefox上使用firebug调试结果。在第一次使用$('#tab').tabs();
创建选项卡时,它向创建选项卡所需的所有元素添加了一些css类,但第二次在函数actionRunOnTab1
中使用$('#tab').tabs();
时,它没有任何效果。
如何刷新所有选项卡?如果我重新加载选项卡的1乘1,它肯定需要更多的额外$.get(),这意味着需要多次连接到服务器。
load
event
并提供有问题的选项卡索引。
$('#mytabs').tabs( "load" , index );