layui.table表格重载(表格搜索)

这篇具有很好参考价值的文章主要介绍了layui.table表格重载(表格搜索)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

同样,由于官方文档比较笼统,还是做一些layui的探索。本次内容为layui.table重载。

引入问题:

传统web更新页面用页面跳转的方式,现多用局部元素重载,提高用户体验。Ajax技术就是为了实现此功能而诞生的。layui框架在table模块中提供了类似的功能,为避免二次渲染,同时体验一下框架开发者的良苦用心,对layui.table重载进行探索。

表格重载:

layui官方提供了数据表格reload函数,其本质是向后端发送数据请求,接收后端数据后重载表格。按照此思路,利用Ajax技术同样可以达到相同效果,实现步骤相对复杂(大家可以尝试实现来讨论)。

重载案例:搜索

对表格中的性别列进行搜素,效果如下:
layui.table表格重载(表格搜索)

重载实现:

前端

<div class="layui-tab-content">
    <div class="layui-tab-item layui-show">
        <div class="demoTable">
            <div class="layui-form">
                搜索性别:
                <div class="layui-inline">
                    <!--        <input class="layui-input" name="id" id="sex" autocomplete="off">-->
                    <select  id="sex" name="department" lay-verify="required" >
                        <option value="">请选择性别</option>
                        <option value="m"></option>
                        <option value="f"></option>
                    </select>
                </div>
                <button class="layui-btn" data-type="reload">搜索</button>
            </div>
        </div>
    </div>
</div>

<table id="demo"  class="layui-table" lay-filter="test"></table>
<script>
 layui.use(['table','jquery'],function(){
        var table =layui.table;
        url1 = 'test_table_data.php';
		//渲染
		table.render({
            elem: '#demo' //指定原始表格元素选择器(推荐id选择器)
            ,data: <?php echo json_encode($data)?>//url1
            ,id: 'test_table'
            ,cols: [[ {field: 'id', title: 'ID'},
                {field: 'real_name', title: 'Name'},
                {field: 'sex', title: 'Sex'},
                {field: 'birthday', title: 'Birthday'}
            ]]//设置表头
            ,even: true //开启隔行背景
            //,…… //更多参数参考右侧目录:基本参数选项
            ,parseData:function(res) { //将原始数据解析成 table 组件所规定的数据
                return {
                    "code": 0, //解析接口状态
                    "msg": res.msg, //解析提示文本
                    "count": res.total, //解析数据长度
                    "data": res //解析数据列表
                };
            }
        });
        //按照部门搜索,table数据重载
        var url2 = 'test_table_reload.php';
        var $ = layui.$, active = {
            reload: function () {
                var sex = $('#sex');
                table.reload('test_table', {
                    url: url2,
                    method: 'post',
                    where: { //设定异步数据接口的额外参数,任意设
                        sex: sex.val()
                        // key: {
                        //     // id: demoReload.val(),
                        //
                        // }
                    }
                    , page: {
                        curr: 1 //重新从第 1 页开始
                    }
                }); //只重载数据
            }
        }

        $('.layui-form .layui-btn').on('click', function(){
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });
</script>

这里采用下拉菜单来获取搜索信息,也可以使用输入框,在重载中进行相应的修改即可。
说明:
1、渲染部分参考方法渲染
2、表格渲染数据采用url异步数据接口或者data来显示数据均可采用此方式进行表格重载;
3、可以采用method参数对传参方式进行定义;
4、where可理解为需要传递到后台的参数,案例中sex为传递参数名,sex.val()为传递参数值。

Tips:
1、像案例中采用获取鼠标单击事件实现搜索,对button元素的事件监视函数的编写很重要,官方文档中没有给出,在示例代码中有所体现。
2、 $('.layui-form .layui-btn').on('click', function(){'.layui-form .layui-btn'语法非常严格。此案例中,.layui-form后必须有且仅有1个Space,否则无法重载(血汗debug经验!),其余情况类推。同样可以使用按钮直接监控点击进行重载

后端:

<?php
include "../connectDB.php";

$sex = $_POST['sex'];

$sql = "select * from testtable1";
$result = mysqli_query($conn,$sql);
$data = array();

while ($row = mysqli_fetch_assoc($result)) {
    if($row['sex']==$sex){
        $data[] = $row;
    }
}
$json_data = json_encode($data);
echo $json_data;

正常接收传递的参数,根据需要进行处理后返回。文章来源地址https://www.toymoban.com/news/detail-491603.html

到了这里,关于layui.table表格重载(表格搜索)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Layui table的动态表格lay-data怎么传递参数给后端

    Layui table的动态表格lay-data怎么传递参数给后端 前端代码: js代码: 注意上面代码注释内容即可。

    2024年02月12日
    浏览(44)
  • 在配置了 el-table 组件的合计行后,由于elementUI 表格el-table设置高度之后,合计行功能不会显示

    在配置了 el-table 组件的合计行后,由于elementUI 表格el-table设置高度之后,合计行功能不会显示 根据调试,发现该问题应该属于组件bug,表格主体中给 footer 留的高度不够导致,重新设置即可。 添加生命周期钩子 updated ,对 table 组件重新布局即可解决问题。具体如下: Vue 文

    2024年02月07日
    浏览(59)
  • Layui中table数据表格使用方法渲染 返回的数据不符合规范,正确的成功状态码应为:“code“: 0异常处理

    返回的数据不符合规范,正确的成功状态码应为:“code”: 0异常处理 根据官方文档描述 异步数据参数中,数据格式解析的回调函数,用于将返回的任意数据格式解析成 table 组件规定的数据格式。table 组件默认规定的数据格式为 很多时候,接口返回的数据格式并不一定都符

    2024年02月16日
    浏览(41)
  • elementui el-table表格实现翻页和搜索均保持勾选状态(后端分页)

    需求: 不管是页面切换还是通过搜索获取数据,都要保持已选中的行保持勾选状态,同时将选中行的内容以标签的形式显示出来,当点击关闭标签时可以对应取消选中状态,点击行中的任意位置也可以切换选中状态,单独勾选复选框一样可以达到要求。 由于需求相对还是蛮

    2024年02月10日
    浏览(63)
  • Layui禁止表格部分复选框,layui禁止表格自带第一列复选框,layui禁止表格部分复选框,layui获取表格复选框选中数据

    禁止某些行可以勾选操作,及选中后的操作和行操作 执行一个table示例 cols 的第一列就是需要重写的复选框 其中templet: \\\"#toolCheck\\\"的标签块 监听全选重写 获取复选框选中的值,tempTableList当前列表返回的数组 以上即可! 监听行复选框点击(如果没有重写复选框就可以用) 标签

    2024年02月09日
    浏览(58)
  • layui表格合并的方法

    摘自文章: layui表格合并_忘记昵称了的博客-CSDN博客_layui 表格合并  摘自文章:layui表格行合并_destiny ~的博客-CSDN博客_layui导出excel合并单元格

    2024年02月13日
    浏览(40)
  • layui表格事件分析实例

    在 layui 的表格组件中,区分表头事件和行内事件是通过事件类型(toolbar 和 tool)以及 lay-filter 值来实现的。 我们有一个表格,其中有一个工具栏按钮和操作按钮。我们将使用 layui 的 table 组件来处理这些事件。 HTML 结构: JavaScript 代码: 通过在按钮的 HTML 模板中使用 lay-e

    2024年02月11日
    浏览(39)
  • layui table列表下拉选操作

        列表中增加下拉选    有的人说样式需要调整,加一个下边这个,不然下拉选打开会显示不出来,我的没有这种情况,大家根据情况使用  数据获取和调用后台接口  原文地址:layui学习——数据表格嵌套下拉列表,并实现动态更新 - 夏末蝉未鸣 - 博客园 我文章里是我的

    2024年02月11日
    浏览(36)
  • 【前端】Layui动态数据表格拖动排序

    目的:使用Layui的数据表格,拖动行进行排序。 使用插件:layui-soul-table 和 Layui 1.layui-soul-table文档:https://soultable.yelog.org/#/zh-CN/component/start/install 2.layui文档:Layui table模块 | 数据表格 | datatable - 在线演示 结合Layui并参看layui-soul-table官方教程,写的比较详细页比较简单。 实现

    2024年02月10日
    浏览(44)
  • layui 导出 Excel表格的方法

    如下图:  也可设置数据导出按钮,通过方法导出任意数据,方法如下: 语法: 示例: 该方法也可以不用依赖table的实例,可直接导出任意数据: 1、下载插件放入项目中   2、前端界面设置button按钮 3、获取点击事件 4、table分页,导出当前页内容 5、导出全部数据

    2024年02月11日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包