layui中弹出层的两种表达方式
方式一:
定义js中定义html变量
方式二:
设置div :hidden:hidden 布局
数据表格自适应大小:
代码:
<style>
.btn-container { margin-bottom: 10px; }
.layui-table-cell .layui-form-checkbox[lay-skin=primary] { top: 5px; }
</style> <div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header">xx记录</div>
<div class="layui-card-body">
<div class="btn-container layui-form">
<!-- 组别搜索 -->
<div class="btn-container">
<button class="layui-btn layui-btn-normal" onclick="add()">添加xx记录</button>
</div>
<table id="table" lay-filter="table" lay-data="{id: table}"></table>
</div>
</div>
</div>
</div> <div class="layui-card-body" id="record-user" hidden="hidden">
<div class="layui-form layui-form-pane" lay-filter = 'datafile'>
<div class="layui-form-item">
<label class="layui-form-label">xx账号</label>
<div class="layui-input-inline">
<select name="xxxx" lay-verify="xxx">
<option value="">请选择xx账号</option>
{foreach $xxx as $key => $vo}
<option value="{$vo.id}">{$vo.xxxx}</option>
{/foreach}
</select>
</div>
</div> <div class="layui-form-item" >
<label class="layui-form-label">xx信息</label>
<div class="layui-input-inline">
<input type="text" name="xxx" required placeholder="请输入xx信息" class="layui-input">
</div>
</div> </div>
</div> <script>
layui.use(['table', 'form'], function() {
var table = layui.table;
var form = layui.form; var tableIns = table.render({
elem: "#table",
url: "{:url('xxx')}",
page: true,
//这是重点
cellMinWidth:70,
done: function(res) {
},
cols: [[
// {type: 'checkbox', fixed: 'left'},
{field: 'id', title: 'ID', sort: true, align: 'center'},
{field: 'xx', title: 'xx', sort: true, align: 'center'},
{field: 'xx', title: 'xx', sort: true, align: 'center'},
{field: 'xx', title: 'xx', sort: true, align: 'center'},
{title: '操作', align: 'center', sort: true, templet: '#operation', fixed: 'right'}
]]
}); // 监听工具栏
table.on('tool(table)', function(o) {
var d = o.data,
lEv = o.event,
tr = o.tr if (parseInt('{$xx_power}') != 0) {
layer.msg('您没有权限操作', { icon: 5, time: 1200 });
return false;
}
if (lEv == 'detail') pop(d);
if (lEv == 'deleted') deleted(d);
})
// 类型搜索
form.on('select(type)', function(data) {
search(tableIns);
}); $(document).on('click','#seach',function(){
nameseach(tableIns);
}); }); // 添加
var add = function() {
var title = 'xx记录添加'
layer.open({
type:1,
title: title,
content: $('#record-user'),
btn:['确定','取消'],
area:['350px','35%'],
yes:function(res){
// 判断输入框是否为空
if ($('[name=xxx]').val().length == 0)
{
layer.alert('不能存在空的输入框', { icon: 5 });
return ;
}
var d = {
xx: $('[name=xx]').val(),
xx: $('[name=xx]').val(),
}
var u = '{:url("xx")}' layer.load(2);
$.post(u, d, function(res) {
// 清除弹出层
layer.closeAll()
if (res.code == 0) {
layer.msg('添加成功', {icon: 6, time: 1500}, function() {
window.location.reload()
})
return ;
}
layer.msg('添加失败', {icon: 5, time: 1500})
})
}
});
} // 修改
var pop = function(data) {
var title ='xx编辑'
var html = '<div class="layui-form">'
html += '<div class="layui-form-item" >'
html += '<label class="layui-form-label">xx账户</label>'
html += '<div class="layui-input-block">'
html += '<input type="text" name="xx" required placeholder="xxxxx" class="layui-input" disabled>'
html += '</div>'
html += '</div>'
html += '<div class="layui-form-item">'
html += '<label class="layui-form-label">xxx</label>'
html += '<div class="layui-input-inline">'
html += '<input type="text" name="xx" required placeholder="xxxx" class="layui-input">'
html += '</div>'
html += '</div>'
html += '</div>' layer.open({
title: title,
content: html,
yes: function(res) {
// 判断输入框是否为空
if ($('[name=xx]').val().length == 0)
{
layer.alert('不能存在空的输入框', { icon: 5 });
return ;
}
var d = {
xxx: $('[name=xxx]').val(),
}
var u = '{:url("xxx")}'
d.id = data.id
layer.load(2);
$.post(u, d, function(res) {
// 清除弹出层
layer.closeAll()
if (res.code == 0) {
layer.msg('修改成功', {icon: 6, time: 1500}, function() {
window.location.reload()
})
return ;
}
layer.msg('修改失败', {icon: 5, time: 1500})
})
}
});
// 设置数据
if (data != null) {
$('[name=xxxx]').val(data.xxx)
$('[name=xxx]').val(data.xxx)
}
} // 删除
var deleted = function(data) {
layer.confirm('确认删除该数据?', function() {
layer.closeAll()
$.ajax({
url : "{:url('xxx')}",
type : "POST",
data : {
'xx' : data.xx,
},
dataType : 'json' ,
success : function(res){
console.log(res);
if(res.code == 0){
layer.msg("删除成功", {icon: 6}, function() {
location.reload();
});
} else{
layer.msg("删除失败", {icon: 5});
}
}
});
});
}
</script>
<script type="text/html" id="operation">
<a class="layui-btn layui-btn-xs" lay-event="detail">编辑</a>
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="deleted">删除</a>
</script>
layui中弹出层的两种表达方式的更多相关文章
- Assignment写作需要掌握的两种表达方式
在正式开始写Assignment之前都会进行文献检索和整理,选择适合Assignment选题的文献资料进行阅读和引用.对于文献中与自己的观点高度相关的参考资料要如何具体引用,而不造成抄袭或者增加文章的 ...
- AC自动机入门经典题目(两种表达方式)
Keywords Search 指针方式: /* Keywords Search */ # include <iostream> # include <stdio.h> # i ...
- Mybatis系列全解(七):全息视角看Dao层两种实现方式之传统方式与代理方式
封面:洛小汐 作者:潘潘 一直以来 他们都说为了生活 便追求所谓成功 顶级薪水.名牌包包 还有学区房 · 不过 总有人丢了生活 仍一无所获 · 我比较随遇而安 有些事懒得明白 平日里问心无愧 感兴趣的 ...
- layui弹出层之应用实例讲解
从酒店管理系统到智能门锁及其现在的资源共享平台,layui框架,我们团队用的比较多的就是这个layui弹出层. layui弹出层,除了页面iframe层我们比较常用还有就是表单校验和其他相关的友好提示 ...
- Layui弹出层、日期和时间选择、即时通讯、分页
Layui弹出层.日期和时间选择.即时通讯.分页 弹层组件文档 - layui.layer 对于弹出层的感觉是:layer 至今仍作为 layui 的代表作,她的受众广泛并非偶然,而是这数年来的坚持. ...
- Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解
Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解 在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示. Swing中 ...
- MyBatis开发Dao层的两种方式(原始Dao层开发)
本文将介绍使用框架mybatis开发原始Dao层来对一个对数据库进行增删改查的案例. Mapper动态代理开发Dao层请阅读我的下一篇博客:MyBatis开发Dao层的两种方式(Mapper动态代理方 ...
- MyBatis开发Dao层的两种方式(Mapper动态代理方式)
MyBatis开发原始Dao层请阅读我的上一篇博客:MyBatis开发Dao层的两种方式(原始Dao层开发) 接上一篇博客继续介绍MyBatis开发Dao层的第二种方式:Mapper动态代理方式 Ma ...
- Layui 弹出层组件——layer的模块化开发实例应用
Layui 弹出层组件——layer的模块化开发实例应用 1.首先在package.json中引入layer组件依赖 2.在源码中应用这个依赖 3.在源码中编写代码应用此组件 4.效果验证:点击日历上 ...
随机推荐
- Jquery制作小星星(常用于评价)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- redis 系列16 持久化 RDB
一.概述 Redis是内存数据库,一旦服务器进程退出,服务器中的数据库内存数据状态也会消失.为了解决这个问题,Redis提供了RDB 持久化功能,这个功能可以将redis在内存中的数据库状态保存到磁盘 ...
- Shiro中的授权问题
在初识Shiro一文中,我们对Shiro的基本使用已经做了简单的介绍,不懂的小伙伴们可以先阅读上文,今天我们就来看看Shiro中的授权问题. Shiro中的授权,大体上可以分为两大类,一类是隐式角色, ...
- JDK源码分析(1)之 String 相关
在此之前有无数次下定决心要把JDK的源码大致看一遍,但是每次还没点开就已被一个超链接或者其他事情吸引直接跳开了.直到最近突然意识到,因为对源码的了解不深导致踩了许多莫名其妙的坑,所以再次下定决心要把 ...
- MaxCompute/DataWorks权限问题排查建议
MaxCompute/DataWorks权限问题排查建议 __前提:__MaxCompute与DataWorks为两个产品,在权限体系上既有交集又要一定的差别.在权限问题之前需了解两个产品独特的权限体 ...
- J2EE规范总结
概述 J2ee是我们步入java学习的一个開始.它将开启这趟奇幻之旅,Java是一种简单的,跨平台的,面向对象的,分布式的.解释的.健壮的安全的.结构的中立的,可移植的.性能非常优异的多线程的,动态的 ...
- tcpdump工具使用说明
tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上. 注意,tcpdump只能抓取流经本机的数据包,不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将 ...
- Windows 花屏问题
已经有2台电脑 Windows 10 系统出现花屏现象,表现为比较炫的界面出现花屏.文字显示不全.移位.闪烁等,如果点击“设置”.“开始”,Chrome浏览器等:比较平素的界面显示正常,比如资源管理器 ...
- selenium加载配置参数,让chrome浏览器不出现‘Chrome正在受到自动软件的控制’的提示语,以及后台静默模式启动自动化测试,不占用桌面的方法
一:自动化测试的时候,启动浏览器出现‘Chrome正在受到自动软件的控制’,怎么样隐藏,今天学习分享: 在浏览器配置里加个参数,忽略掉这个警告提示语,disable_infobars option = ...
- Tomcat配置文件Executor元素属性介绍
该元素可用于Tomcat 6.0.11以及更高版本. 允许您为一个Service的所有Connector配置一个共享线程池.在运行多个Connector的状况下,这样处理非常有用,而且每个Connec ...