lostyazilim
tr.link

JS datatables Türkçe karakterli kelimeleri listenin sonunda sıralıyor!

6 Mesajlar 1.075 Okunma
acebozum
tr.link

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)
Hayırlı akşamlar.

Datatables sütunlarını sıralarken Türkçe karakter ile başlayan kelimeleri ya tablonun ilk satırlarına yada son satırlarına gönderiyor.

Örnek:
Çanta
Şemsiye

Ayakkabı
Pantalon
Yağmurluk

Orjinal js dosyasının karışık kodlarına dalmadan, dosyanın orjinalliğini bozmadan,
küçük bir js kodu ile
yada
etiketi içine yazılacak minik bir kod ile tabloya utf8 özelliği kazandırmak mümkün müdür?

Bilen birinin çıkar umarım.

Teşekkürler...
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.
elektronikssl
webimgo

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)
BEYAZMASTER çok güzel soru gerçekten. Benim de başıma gelse diye araştırdım nette. Şöyle bişey buldum. Denedim çalışıyor. Sadece I harfinde sıkıntı çıkardı sanki. Js bilgim çok olmadığı için değiştirecek yeri bilemedim :) Ama bu haliyle bile iş görür.

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"turkish-pre": function ( a ) {
var special_letters = { "İ": "ib", "I": "ia", "Ş": "sa", "Ğ": "ga", "Ü": "ua", "Ö": "oa", "Ç": "ca", "i": "ia", "ı": "ia", "ş": "sa", "ğ": "ga", "ü": "ua", "ö": "oa", "ç": "ca" };
for (var val in special_letters)
a = a.split(val).join(special_letters[val]).toLowerCase();
return a;
},

"turkish-asc": function ( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},

"turkish-desc": function ( a, b ) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );


$('#ornek').dataTable({
'aoColumns' : [
null,
{'sType' : 'turkish'}
]
});
BEYAZMASTER

kişi bu mesajı beğendi.

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

ÖmerGünay adlı üyeden alıntı

BEYAZMASTER çok güzel soru gerçekten. Benim de başıma gelse diye araştırdım nette. Şöyle bişey buldum. Denedim çalışıyor. Sadece I harfinde sıkıntı çıkardı sanki. Js bilgim çok olmadığı için değiştirecek yeri bilemedim :) Ama bu haliyle bile iş görür.

jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"turkish-pre": function ( a ) {
var special_letters = { "İ": "ib", "I": "ia", "Ş": "sa", "Ğ": "ga", "Ü": "ua", "Ö": "oa", "Ç": "ca", "i": "ia", "ı": "ia", "ş": "sa", "ğ": "ga", "ü": "ua", "ö": "oa", "ç": "ca" };
for (var val in special_letters)
a = a.split(val).join(special_letters[val]).toLowerCase();
return a;
},

"turkish-asc": function ( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},

"turkish-desc": function ( a, b ) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );


$('#ornek').dataTable({
'aoColumns' : [
null,
{'sType' : 'turkish'}
]
});





Güzel değerlendirmeniz için ve emeğiniz için çok teşekkür ederim üstad.

Datatables tablosuna nasıl entegre ettiniz bu kodu?

===> Bu şekilde mi?

Evet ise o yöndeki denemelerimden sonuç alamadım.

===> Kullandığım datatables tablosunu çalıştıran kod bu.

Class'ı id'ye çevirmek gerekiyordur belki...?

Konuyu açmadan önce şu linki bulmuştum ve oradaki kodları da entegre edememiştim türlü denemelere rağmen...

https://datatables.net/plug-ins/sorting/turkish-string
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)
BEYAZMASTER hocam sitenin en altına direk bu kodu ekle.

$('#ornek').dataTable({
'aoColumns' : [
null,
{'sType' : 'turkish'}
]
});


burdaki kodda ornek olan yeri "sampleTable" bunun ile değiştireceksiniz sadece.
 

 

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
wmaraci
wmaraci

BEYAZMASTER BEYAZMASTER YÜCE ALLAH'IN aciz 1 kulu Kullanıcı
  • Üyelik 04.02.2020
  • Yaş/Cinsiyet 43 / E
  • Meslek Yazılım...
  • Konum Diğer
  • Ad Soyad O** B**
  • Mesajlar 597
  • Beğeniler 154 / 153
  • Ticaret 0, (%0)

ÖmerGünay adlı üyeden alıntı

BEYAZMASTER hocam sitenin en altına direk bu kodu ekle.

$('#ornek').dataTable({
'aoColumns' : [
null,
{'sType' : 'turkish'}
]
});


burdaki kodda ornek olan yeri "sampleTable" bunun ile değiştireceksiniz sadece.



Çabanız için teşekkür ederim ama nedense çalışmadı.
"Şimdilik" zamana bırakacağım.

Hayırlı akşamlar.
 

 

ÖNCE "İYİ,DOĞRU,GÜZEL BİR İNSAN" OLMAK (VEFA,TEVAZZU,NAİFLİK,SAYGI,...) GEREK!
Sonra wm oluruz.

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)
BEYAZMASTER hocam uzak bağlantı verirsen 2 dk da hallederiz.
BEYAZMASTER

kişi bu mesajı beğendi.

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)