سؤال

وأنا أحاول أن أكتب محلل مخصص للالمساعد مسج، Tablesorter . والفكرة هي لذلك لفرز الأرقام بالترتيب التنازلي على النقرة الأولى.

ولكن، عندما كنت فرز الجدول، لا يغير هذا الأمر. أحيانا بعض الصفوف تتحرك، ولكن معظمهم تبقى نفسها. هنا هو رمز:

$.tablesorter.addParser({
    id: 'desc',
    is: function(s) { return false },
    format: function(s) {
        return 1.0 / parseFloat( s.replace(/,/g,'') );
    },
    type: 'numeric'
});

ووموزعي الآخرين لقد كتبت وتعمل بشكل جيد. حاولت 9999 ناقص العدد بدلا من 1.0 مقسوما على ذلك، في حال كانت المشكلة مع عوامات (لا حظ).

هل كانت مفيدة؟

المحلول

ولقد وجدت الحل. كان لي بعض خلايا فارغة في كل عمود، الذي يجري توزيعه باسم "نان". لماذا مشدود هذا الأمر ترتيب، وأنا لا أعرف (ومتباعدة الخلايا الفارغة بشكل متقطع مع الأرقام العادية، لم يكن هناك من أجل أي شيء).

وباختصار، هذا الرمز يعمل في وظيفة الشكل:

 format: function(s) {
  if ( s == '' )
   return 0;  
  return -parseInt( s.replace(/,/g,'') );
 }

نصائح أخرى

لفرز شيء في ترتيب رقمي العكسي، بالنسبة لي الطريقة الطبيعية للذهاب هو ضرب من قبل -1، بدلا من الأساليب التي قد حاولت.

وأما بالنسبة للمحلل نفسه، والفرق الوحيد ألاحظ أن كنت ستعود العدد الفعلي، بينما في محلل سبيل المثال في موقع Tablesorter بإرجاع سلسلة. ربما تحويل القيمة إلى سلسلة قبل ان يعود انها ستعمل؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top