学无先后,达者为师

网站首页 编程语言 正文

Jquery+bootstrap实现表格行置顶置底上移下移操作详解_jquery

作者:weixin_42590334   更新时间: 2022-04-26 编程语言

最近接到产品的一个需求,它是要对数据排序,实际操作中我们要实现表格行置顶置底上移下移操作。项目框架是GUNS框架。

如下图:

我是怎么用Jquery+bootstrap进行实现这些功能的呢?往下看就知道了。

1.html

@layout("/common/_container.html"){
   
       
           
                报表管理>>报表版本>>配置指标            
           
               
                   
                       
                                                                                   
                                <#NameCon id="condition" name="名称" />                            
                           
                                <#button name="搜索" icon="fa-search" clickFun="QuotaVer.search()"/>                            
                       
                                                <#table id="QuotaVerTable"/>                    
               
           
       
   
@}

注意:这里使用的是GUNS框架,所以代码风格跟一般的html写法稍有不同。

2.JS代码

{title: '操作', visible: true, align: 'center', valign: 'middle',events: operateEvents,
                formatter: operateFormatter}
function operateFormatter(value, row, index) {
    return [
        '',
        '上移',
        '  ',
        '',
        '下移',
        '  ',
        '',
        '删除',
        '  ',
    ].join('')
}
window.operateEvents = {
    'click .up': function (e, value, row, index) {
        //点击上移
        var $tr = $(this).parents("tr");
        if ($tr.index() == 0){
            Feng.success("首行数据不可上移!");
        }else{
            $tr.fadeOut().fadeIn();

            //交换后台数组数据
            var array = $('#QuotaVerTable').bootstrapTable('getData');
            //行在table中的位置
            var idx = $tr.index();
            //交换元素
            var temp = array[idx];
            array[idx] = array[idx - 1];
            array[idx - 1] = temp;

            $tr.prev().before($tr);
        }
    },
    'click .down': function (e, value, row, index) {
        //点击下移
        var $tr = $(this).parents("tr");
        //获取table所有数据行  QuotaVerTable跟html页面的table id对应
        var len = $('#QuotaVerTable').bootstrapTable('getData').length;
        if ($tr.index() == len - 1) {
            Feng.success("尾行数据不可下移!");
        }else {
            $tr.fadeOut().fadeIn();

            //交换后台数组数据
            var array = $('#QuotaVerTable').bootstrapTable('getData');
            //行在table中的位置
            var idx = $tr.index();
            //交换元素
            var temp = array[idx];
            array[idx] = array[idx + 1];
            array[idx + 1] = temp;

            $tr.next().after($tr);
        }
    }
}

在实现上移下移的同时,做了数据的顺序交换。

原文链接:https://blog.csdn.net/weixin_42590334/article/details/93593357

栏目分类
最近更新