2011-07-01 33 views
7

Bazı temel tablo sıralama işlevleri sağlamak için jQuery Tablesorter 2.0 plugin kullanıyorum.jQuery tablesorter satır numaraları ile

Masamda, satır numarası için bir sütuna sahip olmak istiyorum. Sorun şu ki, Tablolar eklentisi bu sütunu diğer her şeyle sıralar. İlk sütun için "üstbilgiler" özelliğini ayarlamayı denedim, ancak bu yalnızca sıralama yeteneğini kaldırır. Farklı bir sütuna göre sıraladığımda sütunun yeniden sıralanmasını engellemez.

Bu eklenti ile olası satır numaralarının bir listesi var mı? Problemin bir yolunu düşünebilir misin?

+2

İstenmeyen kullanıcılar için StackOverflow'ta bir sorunla karşılaşırsanız, gerekçenizi açıklayan bir yorum bırakmak daha iyidir. Aksi halde, kimse öğrenemez ve sizin aşağı-in-down reddetmeniz hiçbir şeye değmez. – Brad

cevap

12

Tablo her sıralandığında satırları yeniden numaralandırmanız gerektiği gibi görünüyor. (Zaten masada tablesorter başlatıldı sonra kullanmak) bu deneyin:

var table = $("#myTable"); 
table.bind("sortEnd",function() { 
    var i = 1; 
    table.find("tr:gt(0)").each(function(){ 
     $(this).find("td:eq(0)").text(i); 
     i++; 
    }); 
}); 
+0

Bu mükemmel! Tek dezavantajı, yeniden numaralandırma gerçekleşirken eski sayıların kısa bir an için ortaya çıkmasıdır, fakat eminim ki bu konuda yapılabilecek bir şey yoktur. Tekrar teşekkürler! – Brad

+0

Rica ederim, yardım edebilirim :) –

+0

Bu kod için teşekkürler, sadece bir baş ağrısını çözmek için kullanılan, bir tedavi çalışır. –

0

Ben @Chris Laplante koduna göre sıra sayıları sayıların ordenation, yaklaşık bir çözüm bulduk. Çözüm, tablo oluşturulduğunda ilk kez sortEnd tetikleyiciyi çalıştırır. Bu yüzden kaynak kodunu düzenlemeliyim. Tablo üreticisi yazılımı güncellendiğinde dikkate almak zorunda.

// trigger sortend 
setTimeout(function() { 
    $(table).trigger("sortEnd"); 
}, 0); 

Değişim için: Dosya jquery.tablesorter.js ise

hattı 370 civarında, biz tetiği bulundu edebilirsiniz

// trigger sortend 
if (runonce == undefined){ 
    setTimeout(function() { 
     $(table).trigger("sortEnd"); 
    }, 0); 
    runonce = true; 
} 

ve değişken RunOnce tanımlamak bazı işlev üzerinde yerleştirme özelliği:

var runonce;     
function appendToTable(table, cache) { ... 

"Puntos" üzerine tıklayarak: http://formulaeweb.es/resultados.php sonucunu kontrol edebilirsiniz.

İlgili konular