2012-01-31 8 views
7

मेरे पास बिल्कुल वही समस्या है जैसा वर्णन किया गया है: http://bugs.jqueryui.com/ticket/7930। समस्या यह है कि रखरखाव इसे पुन: उत्पन्न नहीं कर सकता है, इसलिए टिकट बंद है। मेरे कोड निम्नलिखित के रूप में दिखता है:jquery UI टैब में AJAX- सक्षम टैब को पूर्व निर्धारित करना

<script type="text/javascript"> 
    $(document).ready(function() { 
     // assigns the value of a GET parameter called tab to tabIndex 
     var tabIndex = getUrlVars()['tab']; 

     if (isNaN(tabIndex)) { 
      tabIndex = 0; 
     } 

     // initializes tabs and selects the one provided in tabIndex (default: 0) 
     $('div#tabs').tabs({ ajaxOptions: { cache: false}, selected: tabIndex }); 
    }); 
</script> 
<div id="tabs"> 
    <ul> 
     <li>@Html.ActionLink("User roles", "Roles", "Admin", New With {.rand = DateTime.Now.Ticks}, Nothing)</li> 
     <li>@Html.ActionLink("Report templates", "Reports", "Admin", New With {.rand = DateTime.Now.Ticks}, Nothing)</li> 
     <li>@Html.ActionLink("Blabla", "2", "Admin")</li> 
     <li>@Html.ActionLink("Blabla2", "3", "Admin")</li> 
    </ul> 
</div> 

इस आईडी के साथ टैब बनाता है: # ui-टैब-1, # ui-टैब -2, # ui-टैब -3, # ui-टैब-4। मैं यूआरएल के माध्यम से पेज तक पहुंचता हूं: http://server/Admin?tab=1। उचित टैब चुना जाता है (रिपोर्ट के साथ दूसरा), लेकिन AJAX कॉल को पिछले टैब (उपयोगकर्ता भूमिकाओं) के href में बनाया जाता है। इसके परिणामस्वरूप एक खाली टैब सामग्री दिखाई दे रही है। क्या आप जानते हैं कि इसे कैसे ठीक किया जाए?

+0

क्या आप AJAX कॉल के लिए ज़िम्मेदार कोड जोड़ सकते हैं? – Rafay

+0

यह स्वचालित रूप से यूआई टैब द्वारा किया जाता है। यदि मैं यूएल सूची में तत्व प्रदान करता हूं तो यह href बदलता है और टैब बदलते समय AJAX कॉल स्वचालित रूप से करता है। इस कार्यक्षमता को प्राप्त करने के लिए आपको अपना कोड लिखने की आवश्यकता नहीं है। –

+0

क्या आप jquery ui (1.8.17) का नवीनतम संस्करण उपयोग कर रहे हैं? –

उत्तर

5

मैं प्रयोग किया है:

$('#tabs').tabs({ selected: tabIndex });

लेकिन tabindex एक स्ट्रिंग था (मैं url या url हैश से प्राप्त), तो यह जैसे के परिणामस्वरूप:

$('#tabs').tabs({ selected: "2" });

इस मामले में आप इस तरह के अप्रत्याशित व्यवहार का निरीक्षण कर सकते हैं।
tabindex

tabIndex = Number(tabIndex)

पर कॉलिंग संख्या समारोह मुद्दे को हल करती है।

संबंधित मुद्दे