2010-03-31 22 views
8

JQuery UI टैब नामांकित एंकर द्वारा एक अनियंत्रित सूची में कार्यान्वित किए जाते हैं। आप में से एक टैब पर ले जाएं, जब आप लिंक ब्राउज़र के पैर में दिखाया गया है में देख सकते हैं:JQuery UI टैब: मैं किसी अन्य पृष्ठ से सीधे किसी टैब पर कैसे जा सकता हूं?

http://mysite/product/3/#orders 

ऊपर उदाहरण के लिए "आदेश" टैब होगा। JQuery स्पष्ट रूप से इस एंकर पर क्लिक को रोकता है और इसके बजाय टैब खोलता है।

हालांकि अगर मैं उपरोक्त लिंक को बुकमार्क करता हूं या साइट पर कहीं और से लिंक करता हूं तो पेज विशिष्ट टैब पर नहीं खुलता है।

टैब प्रारंभिक ब्लॉक में मैं कुछ कोड डालने पर विचार कर रहा था जो यूआरएल में एक नामांकित एंकर की तलाश में है और यदि यह एक पाता है, तो टैब का इंडेक्स लुकअप करता है और उस पर चयन करता है। इसका मतलब यह होगा कि यह अभी भी जेएस स्विच के साथ काम करेगा।

लेकिन क्या कोई आसान/अच्छा/बेहतर तरीका है?

+0

जे एस टैब नियंत्रण जे एस के साथ काम नहीं करेंगे यह है के बाद से की बदल गया में यह पूरा करने के सभी जेएस – hunter

+0

दिलचस्प - 1.3.2। थोड़ी देर के लिए अपग्रेड करने का अर्थ था, लेकिन मैं इसे "ठीक नहीं किया गया है" इसे ठीक नहीं कर रहा हूं। लगता है कि अब मुझे अपग्रेड करने का एक अच्छा कारण मिला है (हालांकि मैं सबसे तेज़ होने की उम्मीद नहीं कर रहा हूं) –

+0

@Hunter - कोई टैब काम नहीं करेगा लेकिन व्यवहार अभी भी सही होगा। यदि जेएस को लिंक से बंद कर दिया गया था तो आपको पृष्ठ के सही हिस्से में ले जाएगा। –

उत्तर

9

इस उदाहरण here मिला:

if(document.location.hash!='') { 
    //get the index from URL hash 
    tabSelect = document.location.hash.substr(1,document.location.hash.length); 
    $("#my-tabs").tabs('select',tabSelect-1); 
} 
+0

सही पर चिह्नित कर सकता हूं, मैंने इसे एक सहायक समारोह में लपेट लिया है और इसे टैब नियंत्रण की लोड घटना से बुलाया है, धन्यवाद –

+1

यह एक चीज नहीं है जो टैब के बीच हैश जानकारी को बरकरार रखती है। तो अगर मैं उसी पृष्ठ के भीतर से www.page.com # 1 से www.page.com # 2 तक आया तो यह टैब को नहीं बदलेगा। –

+0

@Zach - आप पिछले साल कहाँ थे? – hunter

3

jQuery UI के संस्करणों में 1.8 (समावेशी नहीं) से पहले जो आपको यह करना होगा उतना ही है। टैब एक्सटेंशन (AFAIK) को स्विच करने के बारे में पता नहीं है कि किस एंकर को प्रारंभ किया गया है (जब पृष्ठ लोड होता है) तो आपको उस बिट को मैन्युअल रूप से करना होगा (निश्चित रूप से तैयार घटना में)।

another answer इंगित करता है, jQuery UI 1.8 supports bookmarking out of the box में टैब का नया संस्करण इंगित करता है।

+0

धन्यवाद, बस यह सुनिश्चित करना चाहता था कि मुझे कुछ भी याद नहीं आया। एक सामान्य आवश्यकता होनी चाहिए –

+0

FWIW उनके पास jQuery UI साइट पर मौजूद डेमो एंकर पर ठीक से शुरू होता है। – R0MANARMY

+0

@ R0MANARMY - मेरा सुझाव है कि आप "यह नवीनतम संस्करण में काम करता है" कहकर एक उत्तर जोड़ते हैं। मैं आपको –

5

संस्करण 1.8 के रूप में jQuery यूआई इस कार्यक्षमता का समर्थन। उदाहरण देखें:

  1. Second tab active by default
  2. Third tab active by default
+0

धन्यवाद, समय के लिए स्थिर रिलीज के साथ चला गया, लेकिन जब मैं अपग्रेड करूँगा –

+0

बीटीडब्ल्यू jQueryUI 1.8 वर्तमान स्थिर रिलीज है (अनुभाग देखें * jQuery यूआई 1.7 के बारे में क्या? *)। http://blog.jqueryui.com/2010/03/jquery-ui-18/ – R0MANARMY

+0

अजीब, उन्होंने अभी तक फ्रंट पेज अपडेट नहीं किया है: नवीनतम (1.8: jQuery 1.4+) स्थिर (1.7.2: jQuery 1.3+) - मैं jquery 1.3 का भी उपयोग कर रहा हूं इसलिए मैं एक ही समय में दोनों को अपग्रेड कर रहा हूं। –

0

मैं सत्र प्लगइन का उपयोग एक कस्टम टैब वर्ग

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