2009-03-01 17 views
9

मैं अपने परियोजना में jQuery पुस्तकालय का उपयोग कर रहा jQuery tabs.Solutions साथ भयानक समस्या यह है कि जब मैं तीसरे टैब में था, मैं वापस पोस्ट मेरे फार्म, पुनः लोड टैब है और पहले टैब को जाता है। मैं लंबे समय तक समस्या हल करने के लिए खोज रहा हूँ।jQuery टैब पोस्टबैक समस्या

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#example > ul").tabs({ remote: true, cache: true }); 
    });  
</script> 

तो मैं इस समस्या को कैसे हल करता हूं? आपके उत्तरों thx।

उत्तर

13

टैब मौजूदा टैब को स्टोर करने के लिए कुकीज़ का उपयोग कर सकते हैं। documentation टैब पर एक नज़र डालें। नीचे विकल्प में सूची कैसे मौजूदा टैब को स्टोर करने के लिए कुकीज़ का उपयोग करने का एक उदाहरण है:

$('.selector').tabs({ cookie: { expires: 30 } }); 

यह jquery cookies plugin की आवश्यकता है, हालांकि शामिल किया जाना है।

+0

मेरे लिए यह लागू करने के लिए सबसे अच्छा और सबसे आसान समाधान का उपयोग किया। मेरे पास तीन अलग-अलग पृष्ठों पर कई टैब हैं और टैब टैब क्लिक और पेज पोस्टबैक में अपने राज्य को बनाए रखते हैं। बहुत बढ़िया। –

+0

आह, यह टैब में आंशिक विचारों के साथ एक समस्या का एक सही समाधान जैसा दिखता है ... दुर्भाग्य से, विज्ञापन स्पैमर हमलों के कारण jquery वेबसाइट को हटा दिया गया था, टैब दस्तावेज़ों और jquery कुकीज़ प्लगइन के लिंक पर अभी उपलब्ध नहीं हैं ... – Dronz

24

अगर आप ASP.NET का उपयोग कर रहे आप निर्दिष्ट नहीं किया है, लेकिन अगर आप कर रहे हैं आप एक < एएसपी में वर्तमान में चयनित टैब स्टोर कर सकते हैं: HiddenField/> एक कुकी के बजाय:

<script type="text/javascript" language="javascript"> 
    $(function() { 
     $("#example").tabs({ 
      show: function() { 
       var sel = $('#example').tabs('option', 'selected'); 
       $("#<%= hidLastTab.ClientID %>").val(sel); 
      }, 
      selected: <%= hidLastTab.Value %> 
     }); 
    }); 
</script> 
<asp:HiddenField runat="server" ID="hidLastTab" Value="0" /> 

हैं एएसपी.नेट नहीं, आप शायद कुछ ऐसा ही कर सकते हैं।

$("div.ui-tabs-panel").html(""); 

इसे प्रभावी ढंग से सभी मौजूदा पैनल को साफ करता है प्रपत्र स्टैकिंग को रोकने के लिए:

+1

यह समाधान मेरे लिए पूरी तरह से काम किया है का उपयोग कर ASP.net धन्यवाद !!! –

+0

यह एक शानदार समाधान है! –

+0

मैंने कई अन्य समाधानों की असफल कोशिश की। यह पूरी तरह से काम किया। बहुत बहुत धन्यवाद। –

0

मैं एक ही समस्या, jQuery टैब का चयन करें ईवेंट हैंडलर के लिए निम्न जोड़कर तय किया था।

1

मैं समाधान joelsand द्वारा पोस्ट की गई उपयोग करने के लिए प्रयास किया। हालांकि, jQuery टैब विकल्प और घटनाएं बदल गई हैं। वर्तमान दस्तावेज http://api.jqueryui.com/tabs/ पर है।

"शो" घटना के बजाय

, मैं "सक्रिय" घटना का इस्तेमाल किया। "चयनित" विकल्प के बजाय, मैंने "सक्रिय" विकल्प का उपयोग किया। इसके बजाय एक छिपी हुई फ़ील्ड के , मैं JavaScript वैरिएबल (UpdatePanel बाहर घोषित)

+0

इवेंट का नाम ** सक्रिय ** है (नहीं "सक्रिय")। – fortboise

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