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>

原文地址:https://www.cnblogs.com/a-dong/p/10041352.html

时间: 2024-08-29 16:18:52

layui中弹出层的两种表达方式的相关文章

layer/layui弹出层插件bug

<button class="layui-btn" lay-submit lay-filter="formDemo" id="layui-btn" type="submit">立即提交</button> 使用layer/layui弹出层插件,type="submit"时,弹出层失效,改为type="button"时正常弹出;

【转】android创建Popwindow弹出菜单的两种方式

方法一的Activity [java] view plaincopy package com.app.test02; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; import

使用POST方式弹出窗口的两种办法

使用POST方式弹出窗口的两种办法 最近在做一个功能需要弹窗,但是不能用get方式,因为get方式对url的长度有限制,所以必须用post,总结了两个方法,大家可以参考下 1. 代码如下: var $form1=$("<form action='"+url+"' id='f' name='f' method='post'></form>"); $form1.append($("<input type='hidden' name

Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解

Swing中弹出对话框的几种方式_JOptionPane.showMessageDialog等详解 在swing中,基于业务的考量,会有对话框来限制用户的行为及对用户的动作进行提示. Swing中提供了JOptionPane类来实现类似Windows平台下的MessageBox的功能,同样在Java中也有,利用JOptionPane类中的各个static方法 来生成各种标准的对话框,实现显示出信息.提出问题.警告.用户输入参数等功能.这些对话框都是模式对话框. ConfirmDialog ---

bootstrap 模态框中弹出层 input不能获得焦点且不可编辑

bootstrap 模态框中弹出层 input不能获得焦点且不可编辑 问题描述:bs框架支持一层model层的情况下,在模态框中弹出了自定义的弹出层.发现自定义弹出层的输入框不能获得焦点且不可编辑. 解决方法:去除模态框中的"tabindex"属性. <div class="modal fade" tabindex="-1" role="dialog" id="myModal" data-backdr

MyBatis开发Dao层的两种方式(Mapper动态代理方式)

MyBatis开发原始Dao层请阅读我的上一篇博客:MyBatis开发Dao层的两种方式(原始Dao层开发) 接上一篇博客继续介绍MyBatis开发Dao层的第二种方式:Mapper动态代理方式 Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上一篇博客中Dao接口实现类方法. Mapper接口开发需要遵循以下规范: (1)Mapper.xml文件中的namespace与mapper接口的类路

模拟layui弹出层

以前觉得自己手写一个类似layui的弹出层是挺遥远的事,因为完全没有头绪,即便在layui官网知道layui使用的都是C3动画 之前试过控制width:0;height:0来做动画,结果惨不忍睹,直到几天前灵机一动联想到了tranform的scale属性,才稍微触及到了皮毛 为了不添加格外的HTML结构,所以弹出层也是动态生成 layui弹出框和遮罩层是同级结构,而我把弹出框放遮罩层里了,所以关闭时要用animationend来监听,弹出框做完动画后才删除遮罩层 确认框confirm之前也想跟原

[转]Web APi之认证(Authentication)两种实现方式【二】(十三)

本文转自:http://www.cnblogs.com/CreateMyself/p/4857799.html 前言 上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再叙述废话. 序言 对于所谓的认证说到底就是安全问题,在Web API中有多种方式来实现安全,[accepted]方式来处理基于IIS的安全(通过上节提到的WindowsIdentity依赖于HttpContext和IIS认证)

冒泡排序的两种实现方式

冒泡排序是算法中比较重要的知识点,也是程序员必备的知识点. 有两种实现方式: 第一种是两层循环的实现方式: 1:双层for循环嵌套: 2.判断条件如果满足,交换两数位置: public static void main(String[] args) { int[] arr = new int[]{3,1,2,5,6}; // 定义数组 int[] arr = {3,1,2,5,6}; // 或者使用这样定义数组的方式 for(int i= 0; i < arr.length; i++){ //第