2012-02-28 39 views
1

我的頁面上有一個jquery選項卡,其中每個列表項都包含一個應該在有人更改選項卡時調用的超鏈接(這是一個在選項卡內填充值的web服務調用)。在第一個jQuery選項卡(初始化)後面調用url

更換標籤時,我可以做到這一點的行爲,但現在我也希望在.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

$( 「#標籤UL李:GT(0)一」)。點擊(); ? – Ohgodwhy 2012-02-28 10:23:08

+0

@Ohgodwhy爲什麼這會在列表中的每個li-a上點擊一下? – Tominator 2012-02-28 10:28:44

回答

1

當點擊一個標籤,而不是編程方式更改的select事件triggerred。這就是documentation實際上所說的。

選擇
點擊標籤時,觸發此事件。

您可以在行動here看到這一點:

    :只有「秀」事件最初


    你可以做的是觸發點擊第一個選項卡上triggerred

  1. 將默認選項設置爲「-1」,所以最初沒有選項卡被選中(否則編程點擊不起作用)
  2. 找到第一個錨,並觸發click事件

下面的代碼:

$("#tabs").tabs({ 
    selected: -1, 
    ... 
}).find('.ui-tabs-nav a:first').click() 

DEMO

+0

沒有什麼區別,沒有任何反應: - /也許有一個檢查「如果當前選擇==目標選擇,什麼也不做」 – Tominator 2012-02-28 10:23:34

+0

我確實已經改變了anwser。該插件不會重新選擇已選擇的選項卡(有意義)。 – 2012-02-28 10:27:46

+0

謝謝!也許我應該閱讀「選擇」的文檔,而不僅僅是「如何做」部分... – Tominator 2012-02-28 10:41:37

相關問題