Heim Web-Frontend js-Tutorial jquery implementiert die Sortierung nach chinesischen Tabellen

jquery implementiert die Sortierung nach chinesischen Tabellen

Apr 26, 2018 pm 04:10 PM
jquery 中文 表格

Dieses Mal bringe ich Ihnen jquery zum Sortieren nach chinesischen Tabellen. Was sind die Vorsichtsmaßnahmen für jquery, um das Sortieren nach chinesischen Tabellen zu implementieren?

//转换器,将列的字段类型转换为可以排序的类型:String,int,float 
function convert(sValue, sDataType) 
{ 
switch(sDataType) 
{ 
case "int": 
return parseInt(sValue); 
case "float": 
return parseFloat(sValue); 
case "date": 
return new Date(Date.parse(sValue)); 
default: 
return sValue.toString(); 
} 
} 
// 汉字排序方法 
function chrComp(a,b) 
{ 
return a.localeCompare(b); 
} 
//排序函数产生器 
function generateCompareTRs(iCol, sDataType,isinput,sDec) 
{ 
return function compareTRs(oTR1, oTR2) 
{ 
if(isinput == 1) 
{ 
var vValue1 = convert(oTR1.getElementsByTagName("input")[iCol].value); 
var vValue2 = convert(oTR2.getElementsByTagName("input")[iCol].value); 
} 
else 
{ 
var vValue1 = convert(oTR1.cells[iCol].firstChild.nodeValue, sDataType); 
var vValue2 = convert(oTR2.cells[iCol].firstChild.nodeValue, sDataType); 
} 
if(sDec=='desc') 
{ 
if(sDataType=='int') 
{ 
return vValue1 == vValue2 ? 0 :(vValue1 - vValue2 <0 ? 1 : -1); 
} 
else if(sDataType ==&#39;cn&#39;) 
{ 
if(chrComp(vValue1,vValue2)>0) 
{ 
return -1; 
} 
else if(chrComp(vValue1,vValue2)<0) 
{ 
return 1; 
} 
else 
{ 
return 0; 
} 
} 
else 
{ 
if (vValue1 > vValue2) { 
return -1; 
} else if (vValue1 < vValue2) { 
return 1; 
} else { 
return 0; 
} 
} 
} 
else if(sDec==&#39;asc&#39;) 
{ 
if(sDataType==&#39;int&#39;) 
{ 
return vValue1 == vValue2 ? 0 :(vValue1 - vValue2 >0 ? 1 : -1); 
} 
else if(sDataType ==&#39;cn&#39;) 
{ 
return chrComp(vValue1,vValue2); 
} 
else 
{ 
if (vValue1 > vValue2) { 
return 1; 
} else if (vValue1 < vValue2) { 
return -1; 
} else { 
return 0; 
} 
} 
} 
}; 
} 
//重置单元格的classname 
function ChangeClsName(tr,num) 
{ 
num = num%2?1:2; 
num.toString(); 
for ( var i = 0 ; i < tr.childNodes.length; i ++ ) 
{ 
tr.childNodes[i].className = "row" + num 
} 
} 
/*排序方法(主函数)
Nach dem Login kopieren

sTableID-Tabellen-ID
iCol repräsentiert den Spaltenindex
1, wenn es sich nicht um einen Eingabetyp handelt, iCol repräsentiert den td von tr
2, wenn es sich um einen Eingabetyp handelt. dann stellt iCol die Eingabenummer in diesem tr dar;
sDataType stellt den Datentyp der Zelle oder den Datentyp des Eingabewerts dar. Der Standardwert ist string, kann aber auch int sein. float. cn Es ist Chinesisch.
isinput gibt an, ob der sortierte Inhalt eingegeben wird (1 ja, 0 nein).
sDec gibt die umgekehrte Reihenfolge oder Reihenfolge (desc, Standardreihenfolge) an, um eine direkte umgekehrte Reihenfolge beim Sortieren nach der Eingabe zu vermeiden Wertänderungen.

*/ 
function sortTable(sTableID, iCol, sDataType, isinput, sDec) 
{ 
var oTable = 
document
.getElementById(sTableID); 
var oTBody = oTable.tBodies[0]; 
var colDataRows = oTBody.rows; 
var aTRs = new Array; 
//将所有列放入数组 
for (var i=0; i < colDataRows.length; i++) 
{ 
aTRs[i] = colDataRows[i]; 
} 
aTRs.sort(generateCompareTRs(iCol, sDataType,isinput, sDec)); 
var oFragment = document.createDocumentFragment(); 
for (var i=0; i < aTRs.length; i++) 
{ 
oFragment.appendChild(aTRs[i]); 
ChangeClsName(aTRs[i],i); 
} 
oTBody.appendChild(oFragment); 
}
Nach dem Login kopieren

Ich habe diese Woche endlich Zeit, JQuery zu lernen, was ich schon immer lernen wollte. Schade, dass das Unternehmen es nicht nutzen kann. Nachdem ich es gelernt habe, habe ich immer noch das Gefühl, dass es verwendet werden kann. Nachdem ich jqery kennengelernt hatte, schaute ich mir die Plug-Ins anderer Leute an. jquery.tablesorter.js Dieses Plug-in ist ziemlich leistungsfähig. Ich habe es ausprobiert und festgestellt, dass Chinesisch nicht unterstützt wird. Schauen Sie sich den Quellcode an und dort steht

/* sorting methods */ 
function multisort(table,sortList,cache) { 
if(table.config.debug) { var sortTime = new Date(); } 
var dynamicExp = "var sortWrapper = function(a,b) {", l = sortList.length; 
for(var i=0; i < l; i++) { 
var c = sortList[i][0]; 
var order = sortList[i][1]; 
var s = (getCachedSortType(table.config.parsers,c) == "text") ? ((order == 0) ? "sortText" : "sortTextDesc") : ((order == 0) ? "sortNumeric" : "sortNumericDesc"); 
var e = "e" + i; 
dynamicExp += "var " + e + " = " + s + "(a[" + c + "],b[" + c + "]); "; 
dynamicExp += "if(" + e + ") { return " + e + "; } "; 
dynamicExp += "else { "; 
} 
for(var i=0; i < l; i++) { 
dynamicExp += "}; "; 
} 
dynamicExp += "return 0; "; 
dynamicExp += "}; "; 
eval(dynamicExp); 
cache.normalized.sort(sortWrapper); 
if(table.config.debug) { benchmark("Sorting on " + sortList.toString() + " and dir " + order+ " time:", sortTime); } 
return cache; 
}; 
function sortText(a,b) { 
return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 
}; 
function sortTextDesc(a,b) { 
return ((b < a) ? -1 : ((b > a) ? 1 : 0)); 
}; 
function sortNumeric(a,b) { 
return a-b; 
}; 
function sortNumericDesc(a,b) { 
return b-a; 
}; 
function getCachedSortType(parsers,i) { 
return parsers[i].type; 
};
Nach dem Login kopieren

. Zuerst dachte ich, ich würde auf einige Schwierigkeiten stoßen. Unerwarteterweise muss ich nur seine Sortierfunktion ändern und es wird in Ordnung sein.

function sortText(a,b) { 
return a.localeCompare(b); 
}; 
function sortTextDesc(a,b) { 
return -a.localeCompare(b); 
};
Nach dem Login kopieren

Testen Sie es. Chinesisch, Chinesisch und Englisch zusammen, wenn sich in der Mitte eine Spalte befindet, ist das kein Problem.
Ursprünglich verfügt dieses Plug-in über jquery.tablesorter.pack.js, das nach der Komprimierung nur 9 KB groß ist, aber ich werde nur jquery.tablesorter.js (23 KB) ändern. Ich weiß nicht, wie ich daraus jquery.tablesorter.pack.js umwandeln soll.
ps: Natürlich verfügt dieses Plug-in auch über viele erweiterte Funktionen, wie z. B. mehrspaltige Sortierung, verschiedene Beispiele usw. Es gibt Dokumente als Referenz.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

jquery implementiert Tabellenpaging und -sortierung

jQuery-domänenübergreifender Iframe-Schnittstellenaufruf (mit Code)

Das obige ist der detaillierte Inhalt vonjquery implementiert die Sortierung nach chinesischen Tabellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Schritte zum Anpassen des Formats von Bildern, die in PPT-Tabellen eingefügt werden Schritte zum Anpassen des Formats von Bildern, die in PPT-Tabellen eingefügt werden Mar 26, 2024 pm 04:16 PM

Schritte zum Anpassen des Formats von Bildern, die in PPT-Tabellen eingefügt werden

So stellen Sie Chinesisch im Handyspiel Call of Duty: Warzone ein So stellen Sie Chinesisch im Handyspiel Call of Duty: Warzone ein Mar 22, 2024 am 08:41 AM

So stellen Sie Chinesisch im Handyspiel Call of Duty: Warzone ein

So erstellen Sie eine Tabelle für die Umsatzprognose So erstellen Sie eine Tabelle für die Umsatzprognose Mar 20, 2024 pm 03:06 PM

So erstellen Sie eine Tabelle für die Umsatzprognose

Wie stelle ich eine Excel-Tabelle so ein, dass Chinesisch angezeigt wird? Tutorial zum Wechseln der chinesischen Bedienung in Excel Wie stelle ich eine Excel-Tabelle so ein, dass Chinesisch angezeigt wird? Tutorial zum Wechseln der chinesischen Bedienung in Excel Mar 14, 2024 pm 03:28 PM

Wie stelle ich eine Excel-Tabelle so ein, dass Chinesisch angezeigt wird? Tutorial zum Wechseln der chinesischen Bedienung in Excel

So stellen Sie chinesische Schriftzeichen in PHP Dompdf korrekt dar So stellen Sie chinesische Schriftzeichen in PHP Dompdf korrekt dar Mar 05, 2024 pm 01:03 PM

So stellen Sie chinesische Schriftzeichen in PHP Dompdf korrekt dar

Wird wwe2k24 Chinesisch haben? Wird wwe2k24 Chinesisch haben? Mar 13, 2024 pm 04:40 PM

Wird wwe2k24 Chinesisch haben?

So legen Sie den WPS-Wert fest, um die Farbe entsprechend den Bedingungen automatisch zu ändern. Schritte zum Festlegen des WPS-Tabellenwerts, um die Farbe entsprechend den Bedingungen automatisch zu ändern So legen Sie den WPS-Wert fest, um die Farbe entsprechend den Bedingungen automatisch zu ändern. Schritte zum Festlegen des WPS-Tabellenwerts, um die Farbe entsprechend den Bedingungen automatisch zu ändern Mar 27, 2024 pm 07:30 PM

So legen Sie den WPS-Wert fest, um die Farbe entsprechend den Bedingungen automatisch zu ändern. Schritte zum Festlegen des WPS-Tabellenwerts, um die Farbe entsprechend den Bedingungen automatisch zu ändern

Eine effektive Möglichkeit, verstümmelte chinesische Zeichen in PHP Dompdf zu korrigieren Eine effektive Möglichkeit, verstümmelte chinesische Zeichen in PHP Dompdf zu korrigieren Mar 05, 2024 pm 04:45 PM

Eine effektive Möglichkeit, verstümmelte chinesische Zeichen in PHP Dompdf zu korrigieren

See all articles