我采取的方法是设置href
AJAX链接的,然后调用load
方法重新加载内容。
我很欣赏这不使用该aria-controls
属性,但升级指南中的片段指出该属性指向面板 - 远程选项卡根据元素中包含的锚接收其内容li
,所以我认为我应该能够使用这种方法.
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="Scripts/jquery-ui-1.9.2.custom/css/ui-lightness/jquery-ui-1.9.2.custom.min.css"
rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.8.2.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.9.2.custom/js/jquery-ui-1.9.2.custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#tabs').tabs();
$('#change-button').click(function (event) {
$('#ajax-link').attr('href', 'Handler1.ashx?echo=changed at ' + new Date().toTimeString());
$('#tabs').tabs('load', 0);
event.preventDefault();
});
});
</script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="tabs">
<ul>
<li>
<a id="ajax-link" href="Handler1.ashx?echo=some text to repeat">Tab 1</a>
</li>
</ul>
</div>
<button id="change-button">Change</button>
</form>
</body>
</html>
我正在使用一个通用的 HTTP 处理程序(这是 AJAX 请求),它只是回显它传递的文本,例如Handler1.ashx?echo=some text to repeat
. 请注意,我的选项卡仅包含一个对该处理程序进行 AJAX 调用的选项卡。
要更改 Url,我处理click
按钮的事件并像这样修改href
ofajax-link
然后重新加载它:
$('#ajax-link').attr('href', 'Handler1.ashx?echo=changed at '
+ new Date().toTimeString());
$('#tabs').tabs('load', 0);
So for this to work you will need to provide the link you wish to change with an ID and you will need to know at which position the tab page occurs.