2010-02-18 9 views
8

के बाद प्रकार एक ही स्तंभ मैं एक मेज जो ajax के साथ अद्यतन किया जाता है और यह अद्यतन करने के बाद अगर हल कर दिया है, लेकिन मैं एक निश्चित स्तंभ लेकिन उसी स्तंभ जो पिछले अद्यतन पहले क्लिक किए गए था नहीं सॉर्ट करने के लिए की जरूरत है।Jquery Tablesorter अद्यतन

function tableUpdated() { 
$(".tablesorter").trigger("update"); 
//alert($(".tablesorter").sorting); 
var sorting = [[7, 0]]; 
$("table").trigger("sorton", [sorting]); 
} 

मेरी कोड में ऊपर मैं 7

उत्तर

5

jQuery के .data() के बजाय मेरी चयनित स्तंभ सूचकांक डाल करने के लिए तुम यहाँ मदद मिलेगी की जरूरत है। जब भी कोई उपयोगकर्ता किसी तालिका को सॉर्ट करने के लिए क्लिक करता है, तो कॉलम को तालिका पर ही संग्रहीत करें। प्रकार समारोह के भीतर, यह जोड़ें:

$("#table").data('sorting', selectedColumn); 

अब id="table" साथ तत्व selectedColumn के मूल्य के साथ एक संपत्ति sorting है।

function tableUpdated() { 
    $(".tablesorter").trigger("update"); 
    var sorting = [[$("#table").data('sorting'), 0]]; 
    $("#table").trigger("sorton", [sorting]); 
} 

डाटा .data() का उपयोग कर और भी अधिक जटिल हो सकता है, तो आप डेटा की वस्तुओं जोड़ने की अनुमति कहा: tableUpdated में, आप इस डेटा का उपयोग कर सकते हैं। अधिक जानकारी के लिए this page देखें।

+0

धन्यवाद, मैं यह कोशिश करता हूँ ... –

+0

पहले: इस के लिए धन्यवाद। दूसरा: डेटा देखने में 0 यह आरोही \ उतरते के लिए डिफ़ॉल्ट नहीं है (मैं भूल जाते हैं जो यह है) और उपयोगकर्ता चयनित मान नहीं? – javamonkey79

+0

@ javamonkey79: यह मानते हुए कि क्या 0, है तुम सही हो रहा है। .data() का उपयोग करने के लिए यह एक और अच्छी जगह हो सकती है। तालिका की दूसरी संपत्ति के रूप में क्रम की दिशा को सहेजें, और जब क्रम की दिशा बदल दी जाती है तो इसे अपडेट करें। – Aaron

0

एक दिन का समय के लिए इस के साथ जूझ बाद मैं datatables plugin जो राज्य बॉक्स से बाहर बचत है पाया। मैं उम्मीद करता हूं कि इससे किसी की मदद होगी।

3

अपने कोड का उपयोग कर आप कुछ इस तरह कर सकते हैं (मान लें कि आपकी मेज आईडी # सूची की मेज है) वर्तमान तालिका छँटाई बनाए रखने के लिए:

function tableUpdated() { 
    $("#list-table").trigger("update"); 
    var sorting = $("#list-table").get(0).config.sortList; 
    $("#list-table").trigger("sorton", [sorting]); 
} 
2

आप इसे 'sortEnd' पर ले सकते हैं अपनी मेज पर घटना:

var lastSortList; 

$table.on('sortEnd', function(e) { 
    lastSortList = e.target.config.sortList; 
}); 
0

यहाँ आप एक ही स्तंभ के साथ आदेश और सॉर्टर के लिए

var sorting = $("table").get(0).config.sortList; 
sorting.push([2,0]); // add an element to the array 
$("table").trigger("sorton", [sorting]); 
एक नया जोड़ सकते हैं
0

यह थोड़ा कम भूमि के ऊपर केवल जब इस तरह शुरू कर ajax पिछले प्रकार को बचाने के लिए हो सकता है:

lastSortList=$("table")[0].config.sortList; 

तो यह में वापस इस तरह अपडेट के बाद मिलती है:

$("table").trigger("sorton", [lastSortList]); 

पहले घोषित करने के लिए याद रखें यद्यपि सही दायरे में लाइन।

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