2016-04-06 11 views
0

previous question Benim için herhangi bir istemci tarafındaki tablo sıralama geçiş anahtarları olmadan bir tabloyu sıralamaya çalışıyorum. sayfa.jQuery sayfa yük sıralama lider para birimi simgesiyle sıralamayacak

Soru cevaplandı ve oldukça iyi bir yanıt aldım ve bu sorunu çözdüğümü düşündüğüm için uyumaya gittim, bu yüzden web sitemdeki kodu kullanmaya çalıştığım için sıralama tekniğinin çalışmadığını fark ettim ama jsfiddle https://jsfiddle.net/ghzch66e/12/'da mükemmel çalışır.

Bu yüzden web sayfamdaki tabloyu sıralamayacağımı fark ettim çünkü web sayfasında veriler önde gelen (£) bir sembolü https://jsfiddle.net/ghzch66e/13/ içeriyor.

Tabloyu sıralamada (£) bir sembolle bile nasıl yapabilirim?

jQuery(document).ready(function(e) { 
var dataRows = []; 

//Create an array of all rows with its value (this assumes that the amount is always a number. You should add error checking!! Also assumes that all rows are data rows, and that there are no header rows. Adjust selector appropriately. 
$('#internalActivities > tbody > tr').each(function(i,j) { 
    dataRows.push({'amount': parseFloat($(this).find('.amount').text()), 'row': $(this)}); 
}) 

//Sort the data smallest to largest 
dataRows.sort(function(a, b) { 
    return a.amount - b.amount; 
}); 

//Remove existing table rows. This assumes that everything should be deleted, adjust selector if needed :). 
$('#internalActivities').empty(); 

//Add rows back to table in the correct order. 
dataRows.forEach(function(ele) { 
    $('#internalActivities').append(ele.row); 
}) 
}); 
+0

Eğer parseFloat birimi simgesini şerit aramadan önce onu iterek ne zaman. –

+0

Bunu kontrol ettiniz mi? http://stackoverflow.com/questions/22360440/how-to-ignore-and-characters-in-a-value-during-sort-comparison sembolü null ile değiştirmeyi deneyebilir mi? sadece bir tahmin. – s0rfi949

+0

http://stackoverflow.com/questions/23121437/sorting-an-array-in-javascript-85-88-dollars-9-35-95-96-126 – litel

cevap

2

"ile "£" yerine" dizisi

$('#internalActivities > tbody > tr').each(function(i,j) { 
     dataRows.push({'amount': parseFloat($(this).find('.amount').text().replace(/£/,"")), 'row': $(this)}); 
     }) 
+0

'a bir bakın. Şimdi bir sorunum var thead web sitemde dissapearing ile herhangi bir fikir neden? – Scott

+0

https://jsfiddle.net/ghzch66e/14/ https://jsfiddle.net/ghzch66e/14/ – Scott

+0

ths ile yeni bir jsfiddle oluşturdunuz Eğer bu keman (burada değiştirebilirsiniz) bakmak isterseniz jsfiddle içinde bana gösterebilir miyim https://jsfiddle.net/ghzch66e/14/Aslında tbody'i hedefliyorum ama hala üstbilgi yok – Scott

İlgili konular