के बाद कार्यक्षमता का नुकसान मैं हाल ही में jQuery के लिए टेबललेटर प्लगइन के साथ प्रयोग कर रहा हूं। मैंने इसे सफलतापूर्वक प्राप्त कर लिया है और एक बार उदाहरण में चल रहा है, और मैं बहुत प्रभावित हूं। हालांकि, मैंने कुछ कठिनाइयों का सामना करने के लिए केवल एक अलग मेज पर टेबललेटर लागू करने का प्रयास किया है ...jQuery टेबललेटर - AJAX कॉल
असल में एक समस्या उत्पन्न करने वाली तालिका में <ul>
है जो तालिका के लिए टैब के सेट के रूप में कार्य करता है। इसलिए यदि आप इनमें से किसी एक टैब पर क्लिक करते हैं, तो एक AJAX कॉल किया जाता है और तालिका को विशिष्ट टैब के लिए प्रासंगिक पंक्तियों के साथ दोहराया जाता है। जब पृष्ठ प्रारंभ में लोड होता है (यानी एक टैब क्लिक करने से पहले) टेबलर्स कार्यक्षमता बिल्कुल अपेक्षित काम करता है।
लेकिन जब एक टैब क्लिक किया जाता है और तालिका को दोहराया जाता है, कार्यक्षमता गायब हो जाती है, इसे क्रमबद्ध सुविधा के बिना प्रस्तुत करती है। यहां तक कि यदि आप किसी अन्य टैब पर क्लिक करने के बाद मूल टैब पर वापस जाते हैं, तो कार्यक्षमता वापस नहीं आती है - ऐसा करने का एकमात्र तरीका ब्राउज़र में पृष्ठ का भौतिक रीफ्रेश है।
मैंने एक समाधान देखा है जो इस साइट पर मेरी समस्या के समान लगता है, और कोई jQuery प्लगइन, लाइवक्व्यूरी का उपयोग करने की सिफारिश करता है। मैंने कोशिश की है लेकिन इसका कोई फायदा नहीं हुआ :-(
अगर किसी के पास कोई सुझाव है तो मैं सबसे अधिक सराहना करता हूं। यदि कोड मदद करता है तो मैं कोड स्निपेट पोस्ट कर सकता हूं (हालांकि मुझे पता है कि टेबललेटर के लिए तत्काल कोड ठीक है जैसा यह काम करता है कोई टैब के साथ टेबल - तो यह निश्चित रूप से है कि नहीं है)
संपादित करें: अनुरोध अनुसार, यहाँ कुछ कोड के टुकड़े कर रहे हैं:
तालिका सॉर्ट किया जा रहा <table id="#sortableTable#">..</table>
, tablesorter मैं उपयोग कर रहा हूँ के लिए इन्स्टेन्शियशन कोड है:
$(document).ready(function()
{
$("#sortableTable").tablesorter(
{
headers: //disable any headers not worthy of sorting!
{
0: { sorter: false },
5: { sorter: false }
},
sortMultiSortKey: 'ctrlKey',
debug:true,
widgets: ['zebra']
});
});
और मैं रिग अप livequery करने की कोशिश की इस प्रकार है:
$("#sortableTable").livequery(function(){
$(this).tablesorter();
});
यह हालांकि नहीं मदद की है ... मुझे यकीन है कि के रूप में यह <ul>
पर क्लिक किया गया है कि क्या मैं livequery साथ तालिका के आईडी का उपयोग करना चाहिए नहीं कर रहा हूँ मुझे जवाब देना चाहिए, जो निश्चित रूप से तालिका का हिस्सा नहीं है। मैं आशा व्यक्त की कि उनमें से एक में मदद मिलेगी में बदलाव की एक संख्या की कोशिश की है, लेकिन
i ':
अपनी तालिका के डेटा अद्यतन करने के बाद आप केवल इस नई घटना को गति प्रदान करने के लिए होगा अब उसमें देखेंगे :-) –
elwyn द्वारा सुझाए गए ट्रिगर() विधि को आजमाएं, पूरी तालिका को पुन: प्रारंभ करने से कहीं अधिक कुशल। – soupasouniq
धन्यवाद @soupasouniq मैं कोशिश करूँगा। – simplyharsh