2012-01-16 13 views
16

की संपत्ति '0' को नहीं पढ़ सकता है, मैं अपनी प्लग को jQuery प्लगइन टेबलस्टर के साथ सॉर्ट करना चाहता हूं। इसलिए मुझे यह तालिका मिलती है:init पर jQuery tableSorter प्लगइन त्रुटि: अपरिभाषित

<table id="stats" class="zebra-striped"> 
<thead> 
    <tr> 
    <th>Date</th> 
    <th>Annonce</th> 
    <th>Support</th> 
    <th>Nb Assoc.</th> 
    <th>Nb Transfo.</th> 
    <th>Cout</th> 
    </tr> 
</thead> 
<tbody> 
</tbody> 
</table> 

तो जैसा कि आप देख सकते हैं कि मेरी तालिका खाली है, केवल हेडर था। तो मैं के साथ खाली कक्ष के साथ tablesorter init:

$("table#stats").tablesorter({ sortList: [[0,0]]}); 

और immediatly मैं इस त्रुटि मिलती है:

jquery.tablesorter.min.js:4 Uncaught TypeError: Cannot read property '0' of undefined

FYI करें, वहाँ मेरी जे एस लोड:

<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary --> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script> 
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script> 
<script src="js/bootstrap-dropdown.js"></script> 
<script src="js/bootstrap-scrollspy.js"></script> 
<script src="js/jquery.tablesorter.min.js"></script> 

किसी भी विचार क्यों मैं इसे प्राप्त करें और मैं फिर से प्लगइन कैसे काम कर सकता हूं?

Thx

+0

लगता है जैसे आपके टेबलटर फ़ंक्शन सही तरीके से लोड नहीं होते हैं, क्या आप अपने पृष्ठ में लोड की गई जावास्क्रिप्ट फ़ाइलों को देख सकते हैं? – JoJa

+0

@ जोजा: बस चेक किया गया। ठीक लगता है। मैं इसे शामिल करने के लिए पोस्ट को संपादित करता हूं;) – Clawfire

+0

और यदि आप खाली खाली के साथ खाली में डालते हैं? – JoJa

उत्तर

15

आप अपनी तालिका के डेटा के लिए इससे पहले कि आप इस पर sortList विधि कॉल कर सकते हैं की जरूरत है। ऐसा इसलिए है क्योंकि आप इस विधि में एक इंडेक्सिंग लागू करते हैं, यदि कोई डेटा मौजूद नहीं है तो कोई रिकॉर्ड नहीं मिलेगा और इससे "अनिर्धारित" त्रुटि "संपत्ति को पढ़ नहीं सकता" त्रुटि फेंक जाएगी।

2

मैंने देखा है कि यह नवीनतम संस्करण (2.0.5b, मुझे लगता है) के साथ होता है http://tablesorter.com/ पर पाया गया, लेकिन यह पिछले संस्करणों में नहीं हुआ (मेरे पास 2.0.3 की एक प्रति है, और यह काम करता है उस)। हालांकि, https://github.com/Mottie/tablesorter पर एक फोर्क संस्करण है, जो बहुत बेहतर बनाए रखा गया है, और इसमें यह त्रुटि नहीं है।

12

यह अच्छा उपयोग tablesorter जब एक खाली टेबल है वहां नहीं है, तो आप इस हालत का उपयोग कर सकते हैं:

if ($("table#stats tbody tr").length > 0) 
    $(this).tablesorter({ sortList: [[0,0]]}); 
7

आप की जरूरत नहीं अपनी तालिका के डेटा के लिए है।

$("table#stats").tablesorter(); 

फिर, के बाद आप तालिका में डेटा सम्मिलित कर चुके हैं, तो आप प्लगइन है कि तालिका अद्यतन किया गया था बताओ और यह सॉर्ट करना होगा::

$("table#stats").trigger("update"); 
var sorting = [[0,0]]; 
$("table#stats").trigger("sorton",[sorting]); 
2

मैं एक मिल गया बस अपनी मेज कि जिस तरह से initilize त्रुटि "अपरिभाषित की संपत्ति 'प्रारूप नहीं पढ़ी जा सकती है"। मेरे मामले में त्रुटि 'थीड'

3

की तुलना में अलग-अलग 'td's in' tbody 'की वजह से हुई त्रुटि मुझे काम करने के लिए इनमें से कोई भी नहीं मिला, इसलिए मैंने टेबललेटर के लिए प्रारंभिक समय पर एक टाइमआउट सेट किया ...

setTimeout(function() {$('table').tablesorter();}, 10000); 
+1

स्टैक ओवरफ्लो में दर्जनों पोस्ट में से केवल यही एक है जो मेरे लिए चाल है;) धन्यवाद! – baraka

+0

यह काम कर रहा है लेकिन यह केवल कभी-कभी काम कर सकता है ... – anonymous5671

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