我的页面上有一个jquery选项卡,其中每个列表项都包含一个超链接,每当有人更改选项卡时它就会被调用(这是一个填充选项卡中值的webservice调用)。
我可以在更改标签时完成此行为,但现在我还希望在调用.tabs函数时调用第一个超链接(用于初始化目的)
我该怎么做?在页面末尾调用此方法不起作用:
setTimeout(function() {$('#tabs').tabs('select', 0);}, 0);
可能是因为只是调用.tabs()已经选择了第一个标签。
我的标签代码(js + asp.net):
<div id="tabs" class="tab-panel">
<ul class="tabs">
<asp:Repeater ID="rpt" runat="server">
<ItemTemplate>
<li>
<asp:HyperLink ID="btnEdit" runat="server" NavigateUrl="myPage.aspx/GetInfo" Text='<%# Eval("Name") %>'></asp:HyperLink>
<asp:HiddenField ID="txtId" runat="server" Value='<%# Eval("ID") %>' />
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
<div class="tab rounded-bottom rounded-topright">
<div class="tab-content" id="licRights">
<input type="text" value="" id="myText">
</div>
</div>
</div>
使用Javascript:
$("#tabs").tabs({
select: function (event, ui) {
var Id = $(ui.tab).siblings("input").val();
var settings = $(this).tabs("option", "ajaxOptions");
settings.data = $.toJSON({ id: Id });
},
ajaxOptions: {
success: function (response) {
$("#myText").val(response.d);
}
}
});
答案 0 :(得分:1)
单击选项卡时会触发select
事件,而不是以编程方式更改。这就是documentation实际上说的内容。
选择强>
单击选项卡时会触发此事件。
您可以在 here 中看到这一点:最初只触发“show”事件
您可以做的是触发第一个标签上的点击:
以下是代码:
$("#tabs").tabs({
selected: -1,
...
}).find('.ui-tabs-nav a:first').click()
<强> DEMO 强>