Layui-自定义函数及调用
控件
表格
时间范围
页面展示

场景
页面中选择开始时间和结束时间表格变化
使用
html代码
<div>
<form class="layui-form" action="">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">日期范围</label>
<div class="layui-inline" id="test6">
<div class="layui-input-inline">
<input type="text" autocomplete="off" id="start_date" class="layui-input" placeholder="开始日期">
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline">
<input type="text" autocomplete="off" id="end_date" class="layui-input" placeholder="结束日期">
</div>
</div>
</div>
</div>
</form>
</div>
<table id="detail" lay-filter="detail"></table>
JS代码
<script type="text/javascript">
layui.use(['table', 'layer', 'form'], function (){
var table = layui.table
,layer = layui.layer
,form = layui.form
,laydate = layui.laydate;
// 自定义初始化表格方法
window.initTable = function(start_date, end_date){
table.render({
elem: '#detail'
,url: "{% url 'index:detail_data' %}" // 后端请求的URL
,where: {
"data_center": $("#data_center").val() // 下拉框的值
,"start_date": start_date // 开始时间
,"end_date": end_date // 结束时间
}
// ,method: 'post'
,page: true
,cols: [[
{field: 'data_center', title: '数据中心', width: 150}
,{field: 'change', title: '变化'}
,{field: 'num', title: '数量'}
,{field: 'reason', title: '原因'}
,{field: 'diff_date', title: '时间'}
,{field: '', title: '操作', align:'center', toolbar: '#barDemo'}
]]
,response: {
statusName: 'code' //规定数据状态的字段名称,默认:code
,statusCode: 10000 //规定成功的状态码,默认:0
,msgName: 'message' //规定状态信息的字段名称,默认:msg
,countName: 'total' //规定数据总数的字段名称,默认:count
,dataName: 'data' //规定数据列表的字段名称,默认:data
}
});
}
// 获取近N天-自定义函数
window.getRecentDay = function (day) {
var today = new Date();
var targetday_milliseconds = today.getTime() + 1000*60*60*24*day;
today.setTime(targetday_milliseconds);
var tYear = today.getFullYear();
var tMonth = today.getMonth();
var tDate = today.getDate();
tMonth = doHandleMonth(tMonth + 1);
tDate = doHandleMonth(tDate);
return tYear+"-"+tMonth+"-"+tDate;
}
// 处理月份-自定义函数
window.doHandleMonth = function (month) {
var m = month;
if(month.toString().length == 1){
m = "0" + month;
}
return m;
}
//日期范围
var start = laydate.render({
elem: '#start_date',
max: -1, // 最大值为昨天
value: getRecentDay(-30),
done: function (value, date){
if(value && (value>$('#end_date').val())){
$('#end_date').val();
}
end.config.min = {
year: date.year,
month: date.month-1,
date: date.date
};
initTable(value, $('#end_date').val()) // 调用自定义初始化表格方法
}
});
var end = laydate.render({
elem: '#end_date',
max: -1, //
value: getRecentDay(-1), // 默认昨天时间
done: function (value, date){
start.config.max = {
year: date.year,
month: date.month-1,
date: date.date
}
initTable($('#start_date').val(), value) // 调用自定义初始化表格方法
}
});
// 调用自定义初始化表格方法(页面初始化)
initTable(getRecentDay(-30), getRecentDay(-1));
});
</script>
总结
在layui.use的{}内定义函数
window.func_name = function (params) {
...
}
在layui.use的{}内调用
func_name(params)
Layui-自定义函数及调用的更多相关文章
- LR自定义函数以及调用
2.2.自定义函数以及调用 2.2.1.虚拟用户编程,使用C# 语言DLL 在VS中建立DLL类库项目,编写函数时使用public声明:实现函数后编译生成DLL: 在LR中建立 .Net Vuser脚 ...
- php学习笔记:自定义函数的调用
PHP内置了超过1000个函数,因此函数使得PHP成为一门非常强大的语言.大多数时候我们使用系统的内置函数就可以满足需求,但是自定义函数通过将一组代码封装起来,使代码进行复用,程序结构与逻辑更加清晰. ...
- matlab 自定义函数及调用
这一篇博客主要学习了: 第一,自定义函数优点有很多,比如可重复利用:容易纠错,以后直接装入大工程里(更重要的是,实参是复制给形参的,在自定义函数中运行时形参独立显示,这一点和C不一样). 第二,通过h ...
- 自定义函数和调用函数 return返回值
1.Q: 为什么要有函数,函数是什么? A: 函数能提高应用的模块性,和代码的重复利用率 2. 函数分为两个阶段: 1.定义阶段 2.调用阶段 3.关于函数调用: 01.函数的内存地址加上()就是调用 ...
- 在JS中,一个自定义函数如何调用另一个自定义函数中的变量
function aa1511() { var chengshi="马鞍山"; var shengfen="安徽省"; return shengfen+&quo ...
- FastReport调用Delphi中的人民币大写转换自定义函数
FastReport调用Delphi中的人民币大写转换自定义函数 FastReport调用Delphi中的人民币大写转换自定义函数 function TJzpzEdit1.MoneyCn(mmje ...
- Mysql - 存储过程/自定义函数
在数据库操作中, 尤其是碰到一些复杂一些的系统, 不可避免的, 会用到函数/自定义函数, 或者存储过程. 实际项目中, 自定义函数和存储过程是越少越好, 因为这个东西多了, 也是一个非常难以维护的地方 ...
- Oracle自定义函数1
用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序.调用时如同系统函数一样,如max(value)函数,其中,value被称为参数.函数参数有3种类型. IN 参数类型:表示输入给函数的参数 ...
- Oracle自定义函数
核心提示:函数用于返回特定数据.执行时得找一个变量接收函数的返回值; 语法如下: create or replace function function_name ( argu1 [mode1] da ...
- python 自定义函数
200 ? "200px" : this.width)!important;} --> 介绍 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参 ...
随机推荐
- Whitzard OJ Introduce to packing
1.概述 这个就是个smc,为什么会归于加壳,我个人理解是和UPX的运行方式有点像把,不对应该是说和压缩壳的运行方式 很相似,都是先运行一段解密代码,之前的符号表也替换了下 2.解题 有两种方式一种是 ...
- Python网页正文转换语音文件的操作方法
天气真的是越来越冷啦,有时候我们想翻看网页新闻,但是又冷的不想把手拿出来,移动鼠标翻看.这时候,是不是特别想电脑像讲故事一样,给我们念出来呢?人生苦短,我有python啊,试试用 Python 来朗读 ...
- leetcode 数组分成和相等的三个部分
题目: 给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false. 形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + . ...
- buu Youngter-drive
一.查壳,发现是upx的壳,用自解压方式,脱下壳 二.之后发现打不开了,应该是要修复,不想修复了,直接拖入ida 找到关键函数,中间发生一点小插曲,发现堆栈不平衡,然后导致F5反编译失败,百度了下是A ...
- Java | 字符串缓冲区(StringBuilder)
为什么要出现字符缓冲区 我们都知道,String类是不可变的,但是有的时候,我们要用到字符串的拼接,如果拼接的数量小的时候,还可以,但是如果拼接的数据量太大的话,内存的占用就太大了,所以这个时候再用S ...
- 日常学习-001-Get和Post的区别
首先说明参考链接:https://mp.weixin.qq.com/s/W68JzNIoUpm9hyXinOzkMw 以下为个人观后总结. 初级理解: GET和POST的区别 1.get传送的参数长度 ...
- Shell循环语句for、while、until
Shell循环语句for.while.until 一.条件测试 二.删除字符 三.循环语句 示例1 ...
- Android系统编程入门系列之界面Activity响应丝滑的传统动画
上篇文章介绍了应用程序内对用户操作响应的相关方法位置,简单的响应逻辑可以是从一个界面Activity跳转到另一个界面Activity,也可以是某些视图View的相对变化.然而不管是启动一个界面执行新界 ...
- C++第四十三篇 -- VS2017创建控制台程序勾选MFC类库
用VS2017创建EXE带MFC类库方法 1. File --> New --> Project 2. Windows桌面向导 3. 勾选MFC类库 4. 创建成功 如果项目编译出错 1. ...
- CRC校验原理和verilog实现方法(二)
1 前言 在 前面的博客 CRC校验原理和verilog实现方法(一) 中,介绍了CRC校验的原理和手动计算过程.本文说一下我在学习CRC校验FPGA实现的一点心得体会. 2 线性反馈移位寄存器 ...