2011-02-16 91 views
0

我已經使用了網頁上的標籤GUI:ASP.Net + JQuery的選項卡:使用Cookie選項打破我的GUI

  • 的JQuery 1.4.2
  • jQuery的UI 1.8.9(全下載)

'窗格'div的ID是數據庫中域對象的GUID。一切正常。

但是當我包括在函數調用上

$(document).ready(function() { 
    //$("#tabs").tabs(); //Without tabs works fine 

    $("#tabs").tabs({ //This call with cookie option breaks everything. 
     cookie: { 
      expires: 1 
     } 
    }); 
}); 

cookie選擇通過「遊」我的意思是 - 我的最後一個選項卡的內容(其中包括一個「提交」按鈕)最終被在顯示每個選項卡頁面的底部,儘管選項卡本身看起來不錯。單擊時沒有任何選項卡會打開相應窗格,但是當單擊選項卡時,我可以在瀏覽器的地址欄中看到正確的選項卡標識。

我比較兩個頁面的源(有和沒有cookie選項),他們是相同除了調用了jQuery tab功能。

不過的JavaScript控制檯報告一個錯誤:

cannot call method 'apply' of undefined 

是否有別的東西,我需要做的就是這個工作?該文檔建議不...

我已經插入了Nalum建議的cookies插件,但這並沒有解決問題。

鑽進jquery-ui-1.8.9.custom.min.js讓我問題的代碼位:

return d.cookie.apply(null,[b].concat(d.makeArray(arguments ... 

此代碼似乎在期待[b]是像ui-tabs-1這其中,如果您通過添加標籤的選項卡IDed方式tabs.add(...)功能。當然,我不會通過這種方式添加我的選項卡 - 我的所有選項卡都有GUID ID,這些ID與來自數據庫的元素相關,並由Repeater控件輸出。

下面的一些HTML以供參考:

<div id="tabs"> 
    <ul>    
     <li> 
      <a href='#TabDiv471de30d-aaec-4485-8a50-1b2fdbc58053'> 
       Tab A 
      </a> 
     </li> 
     <li> 
      <a href='#TabDiv951e2fee-9272-4a8c-becb-3f3a07770347'> 
       Tab B 
      </a> 
     </li> 
    </ul> 
    <div id='TabDiv471de30d-aaec-4485-8a50-1b2fdbc58053'> 
     This is Pane A 
    </div> 
    <div id='TabDiv951e2fee-9272-4a8c-becb-3f3a07770347'> 
     This is Pane B 
    </div> 
</div> 

回答

1

jQuery UI Docs,注:需要cookie的插件。

Store the latest selected tab in a cookie. The cookie is then used to determine the initially selected tab if the selected option is not defined. Requires cookie plugin. The object needs to have key/value pairs of the form the cookie plugin expects as options. Available options (example): { expires: 7, path: '/', domain: 'jquery.com', secure: true }. Since jQuery UI 1.7 it is also possible to define the cookie name being used via name property.

+0

感謝您的回答。 我從http://plugins.jquery.com/project/Cookie下載了jquery-cookies.js並將它包含在我的頁面中。它似乎沒有任何區別 - 有什麼我需要做的才能讓它工作? – 5arx 2011-02-17 10:36:20

相關問題