余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

Layui第十六天学习(第十九大学习报告)

xiyangw 2022-12-05 10:15 12 浏览 0 评论

数据重载

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>数据表格-数据重载</title>

        <!--layui模块化使用-->
        <link rel="stylesheet" type="text/css" href="layui/css/layui.css">
        <script src="layui/js/jquery-3.4.1.min.js" type="text/javascript" charset="utf-8"></script>
        <script src="layui/layui.js" text="text/javascript" charset="utf-8"></script>

    </head>

    <body>

    <div class="searchDemo">
        搜索内容:
        <div class="layui-inline">
            <input class="layui-input" name="id" id="reload" autocomplete="off">
        </div>
        <button class="layui-btn" id="searchBtn">搜索</button>
    </div>

    <!--方法渲染-->
    <table id="tab_three" lay-filter="test"></table>

    
    <script type="text/html" id="toolbarDemo">
        <div class="layui-btn-container">
            <button class="layui-btn layui-btn-sm" lay-event="getCheckData">
                获取选中行数据    
            </button>
            <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">
                获取选中数目    
            </button>
            <button class="layui-btn layui-btn-sm" lay-event="isAll">
                验证是否全选  
            </button>
        </div>
    </script>

    <script text="text/javascript">

        //加载table模块
        layui.use("table",function(){
            var table = layui.table;

            //方法渲染
            table.render({
                elem: "#tab_three",
                url: "js/user.json",    //数据接口,通过服务器请求
                height:315,
                
                cols: [[
                    //设置序列号
                    {field:"aa",type:"numbers"},
                    //设置复选框
                    {field:"bb",type:"checkbox"},
                    {field:"id",title:'用户编号',sort:true,width:120,hide:true},
                    //可以单元格编辑,目前只支持文本框
                    {field:"username",title:'用户名',width:100,edit:'text'},
                    {field:"sex",title:'性别',width:100,sort:true},
                    {field:"city",title:'城市',width:100,sort:true},
                    {field:"age",title:'年龄',edit:'text'},
                    //设置表头工具栏
                    {field:"操作",toolbar:"#barDemo"}
                ]],
                //开启分页
                page:true,
                //设置表格工具栏
                toolbar:"#toolbarDemo"
            });

            /*
            头监听事件
            table.on('toolbar(test)',function(obj){

            });
            注意:test表示的是容器上设置的lay-filter属性值
            */
           table.on('toolbar(test)',function(obj){
                //console.log(obj);
                //obj.config对象中可以获取id属性值,即表示当前容器的ID属性值,也就是
                //tab_three,获取当前表格被选中记录对象返回的数据
                var checkStatus = table.checkStatus(obj.config.id);
                console.log(checkStatus);

                //获取事件名称
                var eventName = obj.event;
                //判断事件名称,处理对应的代码
                switch (eventName){
                    case "getCheckData":
                        //获取选中记录的数组
                        var arr = checkStatus.data;
                        //将数组解析为字符串
                        layer.alert(JSON.stringify(arr));
                        break;
                    case "getCheckLength":
                        //获取选中记录的数组
                        var arr = checkStatus.data;
                        layer.msg("选中了"+ arr.length+"条数据");
                        break;
                    case "isAll":
                        //通过isAll判断是否全选
                        var flag = checkStatus.isAll;
                        var str = flag?'全选':'未全选';
                        layer.msg(str);
                        break;
                    default:
                        break;
                }
           });

           /*
           监听行工具栏事件
           */
          table.on('tool(test)',function(obj){
            //得到当前操作行的相关信息
            var tr = obj.data;
            console.log(tr);
            //得到事件名
            var eventName = obj.event;
            //判断事件名,执行对应的方法
            if(eventName == 'del'){
                //删除
                layer.confirm("您确定要删除吗?",function(index){
                    //删除指定当前的tr
                    obj.del();
                    //关闭弹窗
                    layer.close(index);
                });
            }
            else if(eventName == 'edit'){
                //修改
                layer.prompt({
                    //表单元素的类型0-文本框,1-密码框,2-文本域
                    formType:0,
                    value:tr.username
                },function(value,index){
                    //修改指定单元格的值
                    //value表示输入的值
                    obj.update({
                        username : value
                    });
                    layer.close(index);
                });
            }
          });

          //监听单元格编辑事件
          //表头设置edit属性,单元格编辑类型(默认不开启),目前只支持text(输入框)
          table.on('edit(test)',function(obj){
            console.log(obj);
            //获取修改后的值
            var updateValue = obj.value;
            //得到当前修改
            var updateData = obj.data;
            //得到修改的字段名
            var updateField = obj.field;

            layer.msg("【ID:"+updateData.id+"】的"+updateField.field
                +"字段的值修改为:"+updateValue);
          });
        });

        //给指定元素绑定事件
        $(document).on('click','#searchBtn',function(data){
            //获取搜索文本框的对象
            var searchObj = $('#reload');
            //调用表格的重载方法
            table.reload('tab_three',{
                where:{
                    id: searchObj.val(),
                    name: "lisi"
                },
                page:{
                    //表示让条件查询从第一页开始,如果没有设置,从当前页开始
                    //此页前面的所有数据不纳入条件筛选
                    curr:1 //从第一页查询
                }
            });
        });
    </script>

    <!--表头工具栏-->
    <script type="text/html" id="barDemo" >
        <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    </body>
</html>

Layui第十六天学习(第十九大学习报告)

相关推荐

难以维护,JavaScript引擎Nashorn将被弃用!(javascript引擎的工作原理)
难以维护,JavaScript引擎Nashorn将被弃用!(javascript引擎的工作原理)

JavaScript引擎Nashorn最早被纳入到2014年3月发布的JDK8中。不过,看起来它的生命周期可能比我们想象的要短。原因?正如JEP335中所解...

2023-03-21 19:51 xiyangw

弃用 11 年后,微软现已提供方法以在 IE 中默认禁用 JScript

IT之家10月19日消息作为2020年10月安全更新的一部分,微软为Windows添加了一个新选项,使系统管理员可以更轻松地在InternetExplorer中禁用JScript...

前端面试总结——http、html和浏览器篇(html5和web前端的区别)
前端面试总结——http、html和浏览器篇(html5和web前端的区别)

1.http和httpshttps的SSL加密是在传输层实现的。(1)http和https的基本概念http:超文本传输协议,是互联网上应用最为广泛的一种网络...

2023-03-21 19:50 xiyangw

指纹浏览器功能的优势(指纹浏览器 开源)
指纹浏览器功能的优势(指纹浏览器 开源)

指纹浏览器功能(FingerprintingBrowserFunctionality)是一种追踪用户在线行为的技术。它通过收集和分析网页浏览器的特定特征,如...

2023-03-21 19:50 xiyangw

浅谈网络安全之文件上传(浅谈网络安全之文件上传的方法)
浅谈网络安全之文件上传(浅谈网络安全之文件上传的方法)

概述文件上传漏洞是发生在有上传功能的应用中,如果应用程序对用户的上传文件没有控制或者存在缺陷,攻击者可以利用应用上传功能存在的缺陷,上传木马、病毒等有危害的文件...

2023-03-21 19:50 xiyangw

Hibernate 能够满足我们的验证需求(hibernate increment)
Hibernate 能够满足我们的验证需求(hibernate increment)

注释简化了数据验证有时会有一种工具,它可以真正满足开发人员和架构师的需求。开发人员在第一次下载这种工具当天就可以在自己的应用程序中开始使用这种工具。理论上来说,...

2023-03-21 19:49 xiyangw

2020Web前端开发面试题汇总整理(web前端开发面试技巧)
2020Web前端开发面试题汇总整理(web前端开发面试技巧)

2020Web前端面试题权限管理如何实现?前端控制:前端的控制比较简单,从后台获取到用户的权限之后,可以存在session或者cookie中,然后在页面加载的...

2023-03-21 19:49 xiyangw

老板知道会点赞,前端开发人员的10个安全建议
老板知道会点赞,前端开发人员的10个安全建议

Web安全是前端开发人员经常忽略的主题。当我们评估网站的质量时,我们通常会查看性能,SEO友好性和可访问性等指标,而网站抵御恶意攻击的能力却常常被忽略。即使敏感...

2023-03-21 19:49 xiyangw

关于Python的Selenium框架全解,一篇完整的说明书

目录selenium基础语法一、环境配置1、安装环境安装selenium第三方库pipinstallselenium下载浏览器驱动:Firefox浏览器驱动:geckodriverCh...

关于document.write(关于document)

document.write的用处document.write是JavaScript中对document.open所开启的文档流(documentstream操作的API方法,它能够直接在文档流中写...

听听别人怎么说:VueJS 与 ReactJS(请简单介绍vue和react之间的区别)
听听别人怎么说:VueJS 与 ReactJS(请简单介绍vue和react之间的区别)

使用所有新的库和框架,很难跟上所有这些库和框架,也就是说,这就需要您决定哪些是值得花时间的。让我们看看人们说什么:“和Vue.JS一起工作是很愉快的,我发现学习...

2023-03-21 19:48 xiyangw

学习笔记-身份认证攻击漏洞,文件上传漏洞(认证身份信息)

身份认证攻击漏洞身份认证机制:基于会话的验证使用基于会话的身份验证(或会话cookie身份验证或基于cookie的身份验证),用户的状态存储在服务器上。它不需要用户在每个请求中都提供用户名或密码。...

2020Web前端常见面试题及答案-每日三道题(web前端面试常问知识)
2020Web前端常见面试题及答案-每日三道题(web前端面试常问知识)

web前端面试题及答案问题:网页验证码是干嘛的,是为了解决什么安全问题?解析:(1)区分用户是计算机还是人的公共全自动程序。可以防止恶意破解密码、刷票、论坛灌水...

2023-03-21 19:48 xiyangw

Web 应用常见安全漏洞(web安全十大漏洞)

1、SQL注入SQL注入就是通过给web应用接口传入一些特殊字符,达到欺骗服务器执行恶意的SQL命令。SQL注入漏洞属于后端的范畴,但前端也可做体验上的优化。原因当使用外部不可信任的数据...

文件上传漏洞全面渗透姿势总结(文件上传漏洞常发生在哪些功能点)
文件上传漏洞全面渗透姿势总结(文件上传漏洞常发生在哪些功能点)

文件上传的场景真的随处可见,不加防范小心,容易造成漏洞,造成信息泄露,甚至更为严重的灾难。比如某博客网站评论编辑模块,右上角就有支持上传图片的功能,提交带有恶意...

2023-03-21 19:47 xiyangw

取消回复欢迎 发表评论: