表格HTML部分

<table id="tt"  data-click-to-select="true" data-mobile-responsive="true" data-sort-name="OID" data-sort-order="asc" data-toggle="table">
    <thead>
        <tr>
            <th data-field="state" data-checkbox="true"></th> <!--- 多选框 -->
            <th data-field="MONTH" data-formatter="changeDateFormat"></th>  <!--- 格式化时间 -->
            <th data-field="CARDID" data-formatter="displaycolor"></th>  <!--- 改变字体颜色 -->
            <th data-field="OID"  data-sortable="true"></th> <!--- 排序(添加排序table要加上data-sort-name="OID" data-sort-order="asc"属性) -->
            <th data-field="CHANGQU_NAME"></th>
        </tr>
    </thead>
</table>

操作表格的函数

改变字体颜色

//是否有效
   function displaycolor(value, row, index) {
       var a = "";
       if (value == "Y") {
           var a = '<span style="color:blue;">有效</span>';
       } else {
           var a = '<span style="color:red;">无效</span>';
       }
       return a;
   }

格式化时间

/*格式化日期格式*/
   function changeDateFormat(cellval) {
       if (cellval != null) {
           var date = new Date(cellval);
           var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
           var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
           return date.getFullYear() + "-" + month + "-" + currentDate;
       }
   }

初始化表格

//初始化表格
$('#dg').bootstrapTable({
    height: '500',//设置高
    toolbar: '#toolbar',//工具按钮用哪个容器
    sortable: true,//是否启用排序
    sortName: 'OID',//排序字段
    sortOrder: 'asc',//排序方式
    striped: true,//是否显示行间隔色
    singleSelect: true,//是否选中一行
    showRefresh: false,//是否显示刷新按钮
    pageList: [5, 10, 25, 50],//可供选择的每页行数
    local: 'zh-CN',
    search: false,//是否显示表格搜索
    pagination: true,//是否显示分页
    sidePagination: 'server',//分页方式:client客户端分页,server服务端分页(*)
    checkboxHeader: false, //设置行头全部选中checkbox是否开启
    queryParamsType: "limit",
    queryParams: function (params) {
        var data = {//如果是在服务器端实现分页,limit、offset这两个参数是必须的
            rows: params.limit,
            page: (params.offset / params.limit) + 1,
            //如果有排序需求,要将排序字段和排序方式传到后台,拼接sql
            sortName: params.sort,
            sortOrder: params.order,
            //请求参数
            //增加参数
        };
        return data;
    },
    onLoadSuccess: function (data) {
        //表格刷新请求数据后触发
        //接收返回的数据

        //可以在这里判断登录是否过期(有无页面权限)
        if (data.rows == null) {
            //登录过期等页面
            return false;
        }
    },
    onDblClickRow: function (row) {
        //双击行触发
    },
    url:''//请求后台的地址
});

****前端分页所需要的json格式与服务器端分页所需的json格式不同****
    前端分页:
sidePagination: “client”,
对应的json格式必须为:
[{"id":1,"name":"张三","age”"22},…]

服务器分页:
sidePagination: “server”,
对应的json格式必须为:
{"total":20,"rows":[{"id":1,"name":"张三","age":22},…]}

部分源码

(function ($) {
    'use strict';

    $.fn.bootstrapTable.locales['zh-CN'] = {
        formatLoadingMessage: function () {//这个函数改变表格加载中文本
            return '正在努力地加载数据中,请稍候……';
        },
        formatRecordsPerPage: function (pageNumber) {
            return '每页显示 ' + pageNumber + ' 条记录';
        },
        formatShowingRows: function (pageFrom, pageTo, totalRows) {
            return '显示第 ' + pageFrom + ' 到第 ' + pageTo + ' 条记录,总共 ' + totalRows + ' 条记录';
        },
        formatSearch: function () {
            return '搜索';
        },
        formatNoMatches: function () {
            return '没有找到匹配的记录';
        },
        formatPaginationSwitch: function () {
            return '隐藏/显示分页';
        },
        formatRefresh: function () {
            return '刷新';
        },
        formatToggle: function () {
            return '切换';
        },
        formatColumns: function () {
            return '列';
        }
    };

    $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.locales['zh-CN']);

})(jQuery);

隐藏列

$('#tt').bootstrapTable('hideColumn', '列名');//隐藏列

bootstrapTable排序

要在把排序方式传到后台,在SQL语句最后面加上order by xx

获取选中行数据

var row = $("#dg").bootstrapTable('getSelections');

清空表格

$('#dg').bootstrapTable("removeAll");//清空表格

刷新表格

$('#dg').bootstrapTable('refresh');

表格取消选中

$('#table').bootstrapTable('uncheckAll');  //取消所有选中

//可以传一个变量自定义选中或取消哪一行
$('#table').bootstrapTable('check', 1); ///选中第二行
$('#table').bootstrapTable('uncheck', 1); //取消选中第二行

清空表单

document.querySelector('#form1').reset();//清空表单

弹框关闭触发函数

//关闭清空
$('#questionDlg').on('hide.bs.modal', function () {

})

layer 右下脚弹窗

//layer 右下脚弹窗
layer.open({
    type: 1,
    skin: 'layui-layer-demo', //样式类名
    title: '提示',
    closeBtn: 0, //不显示关闭按钮
    shade: [0],
    area: ['250px', '150px'],
    offset: 'rb', //右下角弹出
    time: 2000, //2秒后自动关闭
    anim: 2,
    content: '我是内容'
});

layer弹出窗阻止默认关闭

有时点确定并不想关闭弹框,

将确认按钮的事件名改为yes

layer.open({
    content: '测试回调',
    yes: function(index, layero){
         //do something
         layer.close(index); //如果设定了yes回调,需进行手工关闭
    }
}); 

打开关闭窗口

打开

$('#dlo').modal('show');

关闭

$('#dlo').modal('hide');

加载中动画

需要css规范文本内容

.layui-layer-loading0 {
    width: 180px !important;
    padding-top: 33px;
    color:#fff;
}

出现

var indexload = layer.load(0, { content: '加载中,请稍候。。。', shade: 0.3 });

关闭

layer.close(indexload);

单选多选按钮初始化

$(document).ready(function () {
    $('.i-checks').iCheck({
        checkboxClass: 'icheckbox_square-green',
        radioClass: 'iradio_square-green',
    });
});

询问框

//询问框
var qx = parent.layer.confirm('确定要删除?', {
    btn: ['确定', '取消'], //按钮
    //shade: false //不显示遮罩
}, function () {
    //确认
    parent.layer.close(qx);//关闭询问框
}, function () {
    //取消
    parent.layer.close(qx);//关闭询问框
});

输入框的tip

//tip
function showtip(id) {
    var showtip;
    $(id).hover(function () {
        $(this).val() == '' ? showtip = layer.tips('此项是必填项', id) : '';
    }, function () {
        layer.close(showtip)
    });
    $(id).on('input', function () {
        $(this).val() == '' ? $(this).addClass('redborder') : $(this).removeClass('redborder');
    })
}
showtip('#upId');



/////如果是日期选择框;发现oninput函数并不能触发;这里需要根据插件的按钮及回调来控制边框颜色
//实例化日期选择控件
laydate({
    elem: '#D_DATE',
    choose: function (date) { //选择好日期的回调
        $('#D_DATE').val() == '' ? $('#D_DATE').addClass('redborder') : $('#D_DATE').removeClass('redborder');
    },
});
function showtip(id) {
    var showtip;
    $(id).hover(function () {
        $(this).val() == '' ? showtip = layer.tips('此项是必填项', id) : '';
    }, function () {
        layer.close(showtip)
    });
    $(document).on('click', '#laydate_clear', function () {
        $(id).addClass('redborder');
    })
    $(document).on('click', '#laydate_today', function () {
        $(id).removeClass('redborder');
    })
}
showtip('#D_DATE');

Toastr通知

toastr.warning("图片大小不能超过1M", "提示", {
    "positionClass": "toast-bottom-right",
    "timeOut": "1500",
    "closeButton": true,
    "progressBar": true
});

点击清空后时间控件不会重置,这里将它们的选择范围重置

var datetype = 1;
$('#txtstartime').on('click', function () {
    datetype = 1;
})
$('#txtendtime').on('click', function () {
    datetype = 2;
})
$(document).on('click', '#laydate_clear', function () {
    if (datetype == 1) {
        end.min = '2000-01-01';
    } else {
        start.max = '2099-06-16'
    }
})
posted on 2024-08-20 16:28  忘忧s  阅读(13)  评论(0)    收藏  举报