Heim > Web-Frontend > js-Tutorial > JS-Methode zum Implementieren verschiedener Felder der Tabellensortierung

JS-Methode zum Implementieren verschiedener Felder der Tabellensortierung

一个新手
Freigeben: 2017-10-02 09:43:58
Original
1200 Leute haben es durchsucht

<table id="tableSort">
    <thead>
        <tr>
            <th data-type="num">工号</th>
            <th data-type="string">姓名</th>
            <th data-type="string">性别</th>
            <th data-type="date">时间</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>06</td>
            <td>sssss</td>
            <td>男</td>
            <td>2008-10-10</td>
        </tr>
        <tr>
            <td>07</td>
            <td>ddddd</td>
            <td>男</td>
            <td>2009-10-10</td>
        </tr>
        <tr>
            <td>11</td>
            <td>qqqqq</td>
            <td>男</td>
            <td>2010-10-10</td>
        </tr>
        <tr>
            <td>02</td>
            <td>vvvvv</td>
            <td>男</td>
            <td>2011-10-10</td>
        </tr>
        <tr>
            <td>11</td>
            <td>hhhhh</td>
            <td>男</td>
            <td>2011-12-10</td>
        </tr>
        <tr>
            <td>01</td>
            <td>eeeee</td>
            <td>女</td>
            <td>2015-10-10</td>
        </tr>
        <tr>
            <td>09</td>
            <td>mmmmm</td>
            <td>女</td>
            <td>2015-11-10</td>
        </tr>
    </tbody></table>
Nach dem Login kopieren
<script> 
    var th = document.querySelector("#tableSort").tHead.rows[0].cells;
    var tbody = document.querySelector("#tableSort").tBodies[0];
    var td = tbody.rows;
    for(var i=0;
    i<th.length;
    i++) {
    th[i].flag = 1;
    th[i].onclick = function () {
    sort(this.getAttribute("data-type"),this.cellIndex,this.flag);
    this.flag = -this.flag;
}
} function sort(str,index,flag) {
    var arr = [];
    for(var i=0;
    i<td.length;
    i++) {
    arr.push(td[i]);
}
;
    //排序开始 arr.sort(function(a,b) {
    return method(str, a.cells[index].innerHTML, b.cells[index].innerHTML)*flag;
}
);
    //添加到table for(var i=0;
    i<arr.length;
    i++) {
    tbody.appendChild(arr[i]) }
} //排序方法 function method(str,a,b) {
    switch(str) {
    case &#39;num&#39;: return a-b;
    break;
    case &#39;string&#39;: return a.localeCompare(b);
    break;
    case "date": //日期排序,IE8下&#39;2012-12-12&#39;这种格式无法设置时间,替换成&#39;/&#39; return new Date(a.split("-").join("/")).getTime() - new Date(b.split("-").join("/")).getTime();
}
}
</script>
对于sort()排序方法。里面可以自定义小编觉得还是挺灵活的 arr.sort((a,b) => a-b) 针对number类型,
Nach dem Login kopieren
arr.sort((a,b) => a.localeCompare(b))这波能反杀,针对string类型作比较 可返回(1,0,-1)三个选项,
Nach dem Login kopieren
1,0,-1的先后顺序,由于小编记忆力极差,刚看就忘了,请大家自行百度
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonJS-Methode zum Implementieren verschiedener Felder der Tabellensortierung . Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage