2012-02-16 7 views
5

मेरे पास एक कॉलम वाला एक टेबल है जिसमें लगभग 10 से 10 और कुछ खाली कॉलम हैं।jquery tableorter रिक्त तालिका कक्षों को क्रमबद्ध करने के लिए अंतिम

मैं चाहता हूं कि टेबललेटर हमेशा टेबल के नीचे खाली कॉलम डालें। यहां तक ​​कि अगर मैं आरोही या अवरोही क्रमबद्ध करता हूं।

इस तरह

:

-1 
0 
2 
3 
<empty cell> 
<empty cell> 

या इस तरह:

3 
2 
0 
-1 
<empty cell> 
<empty cell> 

ध्यान दें कि मेरी समस्या सिवाय इसके कि मैं तल पर रिक्त कक्षों दोनों जब आदेश छँटाई उतरते है चाहता हूँ 4792426 प्रश्न के रूप में ही है और आरोही।

पंक्तियों को हटाने का विकल्प एक विकल्प नहीं है।

उत्तर

7

मुझे अपनी समस्या का समाधान करने का कोई तरीका मिला।

एससेल द्वारा प्रदान किया गया समाधान काम नहीं करता था। तालिका डेटा केवल एक बार पार्स किया जाता है, इसलिए आप इसे नियंत्रित करने के लिए वैश्विक चर का उपयोग नहीं कर सकते हैं। हालांकि, कोशिश अच्छी थी! :-)

यह आवश्यक कोड है। जैसा कि आप देखते हैं कि मैं प्रारूप को अधिभारित करता हूं और प्रारूप INT फ़ंक्शन ताकि वे डिफ़ॉल्ट मान के बजाय शून्य वापस कर सकें: । टेबललेटर के अंदर सॉर्टिंग फ़ंक्शन मेरे लिए बाकी जादुई रूप से करता है।

 $(document).ready(function() { 
     $.tablesorter.formatInt = function (s) { 
      var i = parseInt(s); 
      return (isNaN(i)) ? null : i; 
     }; 
     $.tablesorter.formatFloat = function (s) { 
      var i = parseFloat(s); 
      return (isNaN(i)) ? null : i; 
     }; 
     $("#table").tablesorter(); 
    }); 

जहां तक ​​मुझे पता है कि मेरा समाधान अनियंत्रित है, लेकिन यह ठीक काम करता है।

+0

खुशी है कि यह काम करता है के रूप में कार्य करना! मेरा जवाब हटा रहा है क्योंकि यह काम नहीं करता है। – ssell

+3

बस इतना ही पता है, मैंने [गिटूब पर टेबलर्स] की एक प्रतिलिपि बनाई है (http://mottie.github.com/tablesorter/docs/) और नवीनतम संस्करण में, यह स्वचालित रूप से नीचे खाली तालिका कक्षों को टाइप करता है - [डेमो] (http://jsfiddle.net/Mottie/Z9wdn/13/) – Mottie

2

टेबललेटर jQuery प्लगइन के बाद के संस्करणों के साथ आप खाली/शून्य या स्ट्रिंग को स्वचालित रूप से रखने के लिए शीर्षकों में एक अलग प्रकार का सॉर्टर जोड़ सकते हैं (उदाहरण के लिए यदि आप शून्य के स्थान पर "-" दर्ज करते हैं) जहां आप चाहें (ऊपर से नीचे)।

<th class="{'sorter': 'digit', 'string': 'bottom'}">Count</th> 

यह यह सीधे एम्बेड करने के लिए html/टेम्पलेट्स में एक तरीका है। लेकिन अगर आपके कॉलम गिनती में स्थिरता है तो आप इसे प्रारंभिक टेबललेटर फ़ंक्शन में कर सकते हैं।

$('table').tablesorter(
    headers: { 
     1: { sorter: "digit", empty : "top" }, 
     2: { sorter: "digit", string: "bottom"} 
    } 
) 

किसी भी तरह से ठीक काम करता है, लेकिन यह मूल रूप से बलों जो कुछ भी आप दूसरा कश्मीर के रूप में डाल दिया, हैडर वस्तु के वी सामान्य फैशन में छँटाई से प्राथमिकता दी जाती है।

अधिक जानकारी the tablesorter docs में मिल सकती है।

0

यदि यह किसी की मदद कर सकता है, तो यहां मैंने टेक्स्ट के लिए यह कैसे किया है।

function emptyAtBottomTextSorter(a, b, direction, column, table) { 
    if (a == "") { 
     a = direction ? "ZZZZZ" : ""; 
    } 
    if (b == "") { 
     b = direction ? "ZZZZZ" : ""; 
    } 
    return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 
} 

$("#myTable").tablesorter({ 
    headers: { 
     1 : {'sorter' : 'text'} 
    }, 
    textSorter: { 
     1 : emptyAtBottomTextSorter 
    } 
}); 

Tablesorter v2.26.2

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