2009-06-09 9 views
16

मुझे इस कार्यक्षमता को काम करने की कोशिश करने में समस्या आ रही है। पृष्ठ लोड होने पर मैं स्वचालित रूप से एक टैब लोड करना चाहता हूं। मैंने निम्नलिखित कोड का उपयोग किया है।प्रोग्रामिंग के लिए jquery टैब का चयन और लोडिंग

$tabs.tabs('select', 0); 

हालांकि, क्या हो रहा है कि यह केवल चयन है और (ajax के माध्यम से उस टैब लोड होता है) यह लोड हो रहा है नहीं है। दिलचस्प बात यह है कि जब मैं एक और टैब चुनता हूं और फिर पहले टैब पर वापस जाता हूं तो यह ठीक हो जाता है।

var $tabs = $('.selector').tabs({ selected: 0 }); 

प्रारंभ के बाद, आप यह कर सकते हैं प्रोग्राम के रूप में एक टैब का चयन करने के लिए:

$tabs.tabs('option', 'selected', 0); 

संपादित करें: यह पूरी तरह से काम करता है के लिए

+0

बस जोड़ने के लिए, जब मैं निम्नलिखित करता हूं तो पहला टैब ठीक लोड करता है। $ tabs.tabs ('select', 1); $ tabs.tabs ('select', 0); लेकिन मैं वास्तव में केवल $ tabs.tabs ('select', 0) का उपयोग करना चाहता हूं; कोई विचार? –

उत्तर

17

आप प्रारंभ के समय में चयनित टैब को निर्दिष्ट करने की कोशिश की है मैं:

var $tabs = jQuery("#tabDiv > ul").tabs({ selected: null }); 
$tabs.tabs("select", 0); 
+0

मैंने इस पृष्ठ पर सभी सुझावों का प्रयास किया है और कोई भी काम नहीं कर रहा है।ऐसा इसलिए हो सकता है क्योंकि मेरे पास नेस्टेड टैब है। असल में, अभिभावक टैब एक पृष्ठ को कॉल करता है जिसमें अधिक टैब होते हैं और मैं इस बच्चे टैब पृष्ठ का पहला टैब चुनना चाहता हूं। यह काम नहीं कर रहा है। केवल एक और टैब चुनने के बाद और फिर 1 टैब का चयन प्रोग्रामिक रूप से काम करता प्रतीत होता है। –

+0

बस इतना है कि हर कोई स्पष्ट है। यह पहला टैब चुनता है लेकिन वह पृष्ठ लोड नहीं करता है जिसे इसे AJAX –

+0

ठीक से लोड करना है। मेरे मन में एक विचार है। अगर मुझे समझ में आता है तो मुझे बताएं। क्या यह पहला टैब चुनने के लिए jquery टैब डिफ़ॉल्ट हो सकता है। इसलिए जब आप प्रोग्रामिक रूप से इसे फिर से चुनने का प्रयास करते हैं, तो यह इसे लोड नहीं करता है? –

0

इसे $ (दस्तावेज़) के अंदर रखना न भूलें .ready (function() {;}); निर्माण।

मुझे यकीन है कि आपकी समस्या का कारण नहीं है, लेकिन यह सुनिश्चित करने के लिए यह चोट नहीं पहुंचा सकता कि आपका jQuery तब तक फ़ायर नहीं कर रहा है जब तक कि इसे संभालने के लिए सबकुछ स्थापित नहीं हो जाता है।

+0

हाँ यह $ (दस्तावेज़) के अंदर है। पहले से ही –

0

आप कॉल करने के लिए सक्षम होना चाहिए:

$tabs.tabs('load', 0); 

आप अपने डेटा लोड करने के लिए यह चयन करने के बाद।

+0

मैंने सोचा था कि एक टैब का चयन भी इसे लोड करता है। –

+0

मैंने इसे वैसे भी कोशिश की और अभी भी काम नहीं करता है। केवल किसी अन्य टैब को चुनने के बाद और फिर पहला टैब चुनने के लिए वापस जाकर काम करना प्रतीत होता है। अजीब!!! –

2

मुझे पहले भी यही समस्या थी। मेरा समाधान था टैब() दो बार कॉल कर रहा था; पैरामीटर के बिना एक बार; एक बार चयन विकल्प के साथ:

ईजी।

$("#tabs").tabs(); 
$("#tabs").tabs('select', 2); 
20

मैं इस प्रश्न का उत्तर देता हूं कि लोगों को बहिष्कृत कार्यों के साथ गुमराह करने से बचें।

अधिकांश उत्तर प्रश्न के समय सही थे, लेकिन उनमें से अधिकतर नए एपीआई में उपयोग नहीं कर रहे थे।

कोड का पालन करने का प्रयास करें यदि आप नए एपीआई का उपयोग कर रहे हैं।

$(function() { 
    $("#tabs").tabs(); 
    $("#tabs").tabs("option", "active", 2); 
}); 

अधिक जानकारी के लिए लिंक का पालन चेक करें।

http://jqueryui.com/upgrade-guide/1.9/#deprecated-select-method

+0

मैं आपके समाधान का उपयोग करता हूं, हालांकि, यह मेरे टैब को तोड़ देता है। मैं एक समारोह के रूप में इस राशि $ (document) .ready (function() { $ ("#tabs") .tabs ("विकल्प", "सक्रिय", 2); }); लेकिन यह सभी टैबों की सामग्री को एक बार – ShadowFlame

+0

पर दिखाता है आपका jquery संस्करण क्या है? –

+0

यह jquery 1.9 या बाद में –

0

आप jQuery के टैब पेज (http://jqueryui.com/tabs/#default) से डेमो उपयोग कर रहे थे मान लिया जाये। आप आसानी से एंकर पर क्लिक करके टैब का चयन कर सकते हैं। बस अपने टैब नाम के आधार पर एंकर टैग ढूंढें ...

$('a[href=#tabs-1]').click(); //selects the first tab 
संबंधित मुद्दे