jQuery Tablesorter Plugin - تحديث الفرز بعد الصفوف المعدلة
-
26-09-2019 - |
سؤال
يمكنني استخدام TableorTer 2.0 ، وأقوم بتحديث قيمة الخلايا مع Ajax. بعد المكالمة ، سأحتاج إلى طلب الصفوف مرة أخرى ، لكن $ ('#thistable'). الزناد ("التحديث") لا يساعدني.
أنا أتعامل مع الترميز داخل الخلايا ، لكن لا يمكن أن تكون مشكلة.
$('#thisTable').tablesorter({
textExtraction: function(node) {
return node.getElementsByTagName('input')[0].value;
}
});
سيكون موضع تقدير أي مساعدة.
- كوري
المحلول
يمكنك العثور على الإجابة في SARTER مستندات. عليك أن تثير حدث آخر sorton
.
نصائح أخرى
هذا هو الكود الخاص بي
//append some content to the tbody
$('table').trigger('update');
var $sort = $('table').get(0).config.sortList;
$("table").trigger("sorton",[$sort]);
ما سبق يسمى بعد إضافة بعض الصفوف إلى جسم الجدول. أنا قادر على رؤية قيم الفرز $ ولكن وظيفة الزناد لا تقوم بفرز الصفوف المضافة حديثًا.
لدي تغيير بسيط في الكود المصدري. لقد أضفت معلمة إلى معالج حدث التحديث لطلب الفرز.
$("#MyTable").trigger('update')
سيعمل كالمعتاد.
$("#MyTable").trigger('update', true)
سوف تطلب الفرز بعد التحديث.
$this.bind("update", function (e, sort) {
var me = this;
setTimeout(function () {
// rebuild parsers.
me.config.parsers = buildParserCache(
me, $headers);
// rebuild the cache map
cache = buildCache(me);
// ADDED
if (sort) $(me).trigger('sorton', [me.config.sortList]);
}, 1);
});
فيما يتعلق بتنفيذ حدث "التحديث" ، فإنه ينفذ التحديث بعد مهلة 1 مللي ثانية. eather يجب إعادة كتابة هذه الوظيفة في خزف الجدول ، ايذر باستخدام رد الاتصال.
$this.bind("update", function () {
var me = this;
setTimeout(function () {
// rebuild parsers.
me.config.parsers = buildParserCache(
me, $headers);
// rebuild the cache map
cache = buildCache(me);
}, 1);