zoukankan      html  css  js  c++  java
  • jquery table按列名称排序

    table按自定义列排序

    <!DOCTYPE html>
    <html>
    
    <head>
        <title>如何使用js使table按照表头排序</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
    </head>
    
    <body>
        <div style="text-align: center;margin: 10px;">
            <input type="text" id="xu" value="cdeab" />
            <button type="button" style="100px;">按照表头排序</button>
        </div>
        <table class="table table-hover" style=" 80%;text-align:center;margin: 0 auto;border: 0;" id="sorttable">
            <thead class="thead-dark">
                <tr>
                    <th>a</th>
                    <th>b</th>
                    <th>c</th>
                    <th>d</th>
                    <th>e</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>5</td>
                    <td>4</td>
                    <td>3</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
                <tr>
                    <td>5</td>
                    <td>4</td>
                    <td>3</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
                <tr>
                    <td>5</td>
                    <td>4</td>
                    <td>3</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
                <tr>
                    <td>5</td>
                    <td>4</td>
                    <td>3</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
                <tr>
                    <td>5</td>
                    <td>4</td>
                    <td>3</td>
                    <td>2</td>
                    <td>1</td>
                </tr>
            </tbody>
        </table>
    </body>
    <script type="text/javascript">
        jQuery.fn.swapWith = function (to) {
            return this.each(function () {
                var copy_to = $(to).clone(true);
                var copy_from = $(this).clone(true);
                $(to).replaceWith(copy_from);
                $(this).replaceWith(copy_to);
            });
        };
    
        jQuery.moveColumn = function (table, from, to) {
            var rows = jQuery('tr', table);
            var cols;
            rows.each(function () {
                cols = jQuery(this).children('th, td');
                cols.eq(from).swapWith(cols.eq(to));
            });
        };
        function getIndex(colName) {
            var nIndex = 99;
            $('#sorttable tr th').each(function (i) {
                if ($.trim($(this).html()) == colName)
                {
                    nIndex = i;
                }
            })
            return nIndex;
        }
        $(function () {
            $("button").click(function () {
                var tbl = $("#sorttable");
                var len = $('#sorttable tr th').length;
                var col = $("#xu").val();
                var arr = col.split('');
                for (var i = 0; i < arr.length; i++) {
                    jQuery.moveColumn(tbl, getIndex(arr[i]), i);
                }
            });
        });
    
    </script>
    
    </html>
  • 相关阅读:
    iSCSI 原理和基础使用
    Kerberos原理和基础小结
    LDAP学习小结【仅原理和基础篇】
    nmcli 学习小结
    如何让百度收录自己的网站?
    dedecms SESSION变量覆盖导致SQL注入漏洞修补方案
    cms网站模板收集
    学会这些装饰技巧,分分钟让你家看起来挑高一倍!
    15 个最佳 jQuery 翻书效果插件
    CSS动画简介
  • 原文地址:https://www.cnblogs.com/webapi/p/12659662.html
Copyright © 2011-2022 走看看