2012-10-31 15 views
15

पर कार्रवाई करें मुझे बूटस्ट्रैप jQuery टैब अनुभाग में चयनित टैब के आधार पर कुछ पेज जानकारी "रीसेट" करने की आवश्यकता है। http://twitter.github.com/bootstrap/javascript.html#tabsट्विटर बूटस्ट्रैप - टैब "दिखाया गया" ईवेंट

$('a[data-toggle="tab"]').on('shown', function (e) { 
    e.target // activated tab 
    e.relatedTarget // previous tab 
}) 

मैं e.Target और e.relatedTarget की 'href' विशेषता प्राप्त करने के लिए है, जो विशिष्ट रूप से उन 2 टैब की पहचान की जरूरत है और 2 टैब:

डॉक्स इस घटना है, जो वास्तव में मैं क्या जरूरत है दिखाने - वेन्टेंट पैन वे जुड़े हुए हैं।

यहां मेरी समस्या है: e ऑब्जेक्ट कुछ ऐसी वस्तु है जिसे मैं उम्मीद या उपयोग नहीं कर रहा हूं। मैं e.target.attr('href') जैसी किसी भी jQuery विधियों का उपयोग नहीं कर सकता - सभी सामान्य jquery विधियों का उपयोग करने के लिए किया जाता है। मैं एक कच्चे वस्तु विशेषता है कि यह तक पहुँचने की कोशिश की - e.href, और https://127.0.0.1/test?action=view#tab-a" मिला नहीं #tab-a

मैं इस के साथ एक समाधान कोड कर सकते हैं - लेकिन मैं स्पष्ट रूप से कुछ गलत कर रहा हूँ। से सीधे #tab-a प्राप्त करने का एक आसान तरीका होना चाहिए - लेकिन मैं इसे समझ नहीं सकता।

+1

ध्यान दें कि बूटस्ट्रैप 3 में, हम इस पर 'होना चाहिए बजाय –

+1

shown.bs.tab उपयोग करने के लिए बूटस्ट्रैप 3 के साथ की जरूरत है ('show.bs.tab '' के बजाय' 'दिखाया गया'। – kalu

+0

चूंकि 'e.target' आपको यह 'https: //127.0.0.1/test? action = view # tab-a' कैसे प्रबंधित करता है यह काम करने के लिए? becaus ई यह अभी भी कोई काम नहीं कर रहा है, उदाहरण के लिए। '$ (" https://127.0.0.1/test?action=view#tab-a ") 'वापस' अपरिभाषित 'या' सिंटेक्स त्रुटि, अपरिचित अभिव्यक्ति ... 'वापस आ जाएगा ??? – Jaider

उत्तर

26

इसके बजाय $(e.target).attr('href') आज़माएं।

+0

आपको बहुत धन्यवाद। वह सही जवाब था। –

+0

बहुत खराब मैं केवल एक बार वोट दे सकता हूं, thnx –

1

अगर किसी को यह जानने की आवश्यकता है कि टैब इंडेक्स वर्तमान में इसे DOM में मैन्युअल रूप से गिनने के बिना चुना गया है।

केस का उपयोग करें: जब #hrefs गतिशील रूप से अपडेट होते हैं और आप टैब इंडेक्स पर रिले कर सकते हैं।

jQuery समारोह .index() रिटर्न पूर्णांक अपने भाई तत्वों लिए jQuery वस्तु रिश्तेदार के भीतर पहली तत्व की स्थिति को दर्शाता है।

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) { 

    e.currentTarget ... 

}); 

e.currentTarget वर्तमान लंगर सिर्फ

4

यहां से पार्टी के लिए देर से मेरी ले रहा है।

  1. $(e.target).attr('href');
  2. e.target.hash;
  3. $(this).attr('href');
  4. this.hash
+0

बहुत बहुत धन्यवाद !! हम बूटस्ट्रैप 2 से बूटस्ट्रैप 3 में हमारे प्रोजेक्ट को अपग्रेड कर रहे थे और यह ठीक हो गया !!! – normalUser

0

ये सभी काम करना चाहिए क्लिक किया है:

var el = jQuery('#some .thing'); // some DOM node that contains tab html structure 
var tab_list = el.find('.tabbable').first().find('a[data-toggle="tab"]'); 
// event namespace ".bs.tab" is important in some versions of Bootstrap 
tab_list.on('shown.bs.tab', function(e){ 

    // zero based index 
    // jQuery function `.index()` returns zero-based DOM "order" index 
    tab_index = $(e.target).parent().index(); 

    // store this index to cookie or somwhere 
    // so that you can show that tab again when user comes back to page 
    // or makes a page refresh (F5) 
}); 
संबंधित मुद्दे