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.效果验证:点击日历上 ...
随机推荐
- CentOS6.5中部署java web环境
原来在linux中部署java web环境,没有做好总结,这次在部署的过程中,将部署的过程做了记录,希望对大家有帮助.主要内容包括CentOS安装以后的网络设置,系统自带jdk的卸载,新版本jdk的安 ...
- 【java提高】---queue集合
queue集合 什么是Queue集合? 答:Queue用于模拟队列这种数据结构.队列通常是指“先进先出(FIFO)”的容器.队列的头部保存在队列中存放时间最长的元素,尾部保存存放时间最短的元素. 新元 ...
- 实现网站页面的QQ临时会话,分享到空间微博等按钮.
一 qq临时会话 要实现qq临时会话首先要到qq在线状态官网开通qq在线状态,其中临时对话也分为加密和未加密. 1.1:加密模式 <a target="_blank" hre ...
- C++版 - UVa1585 Score - 题解
C++版 - UVa1585 Score - 题解 <算法竞赛入门经典(第二版)> 习题3-1 得分(ACM/ICPC Seoul 2005,UVa1585) 问题描述: 给出一个由O和X ...
- Asp.Net SignalR - 准备工作
实时通讯 在做Web的时候经常会有客户端和服务端实时通讯的需求,比如即时聊天等.目前实时通讯有很多种规范和实现方式,但是每一个对浏览器的兼容性或者性能都不是很完美. 目前主流的解决方案有 WebSoc ...
- SpringBoot基础系列-使用Profiles
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9996884.html SpringBoot基础系列-使用Profile 概述 Profi ...
- tar -P参数含义
-p(小写) :保留备份数据的原本权限与属性,常用于备份(-c) 重要的配置文件-P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意: 在加上绝对路径出现的那个警告讯息“tar: Rem ...
- 教我徒弟Android开发入门(四)
本期知识点: 两大常用布局的简单介绍 在我们的APP使用第三方库 Android Studio常用快捷键 一.两大常用布局 1.LinearLayout线性布局 线性布局,可以垂直显示或者水平显示,设 ...
- apache tomcat的下载 安装 配置
大家好!欢迎浏览我的博客 我们现在学习怎么下载,安装,配置apache-tomcat. 首先我们先了解一下Tomcat,Tomcat是Apache 软件基金会(Apache Software Foun ...
- js报错:Uncaught SyntaxError: Unexpected string
一.问题 今天在写jsp页面时,发现加上某段代码后,页面的其它js就失效了,死活出不来,然后打开谷歌浏览器发现,页面js报如下错误: Uncaught SyntaxError: Unexpected ...