• python测试开发django185.bootstraptable 后端搜索功能实现(queryParams) 上海


    前言

    bootstrap-table 分页方式可以选 server 和client 两种分页方式。

    • 当选择前端分页(client)的时候,可以在页面搜索table表格数据(不查询数据库)
    • 当选择服务器分页(server)的时候,根据可以queryParams属性设置条件查询数据库

    前面一篇已经写过前端分页,在前端页面搜索,只需开启search 搜索输入框即可实现https://www.cnblogs.com/yoyoketang/p/15752639.html
    把搜索参数传到后端搜索,是通过 queryParams 属性实现的。

    toolbar 添加搜索框

    在 toolbar 添加搜索框和搜索按钮

               <form id="toolbar" class="form-inline" role="form">
                        <button id="btn_add" type="button" class="btn btn-success">
                            <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增项目
                        </button>
                        <div class="form-group">
                            <input type="text" id="project_name" name="project_name" class="form-control"  placeholder="项目名称">
                        </div>
                        <div class="form-group">
                            <input type="text" id="publish_app" name="publish_app" class="form-control"  placeholder="应用名称">
                        </div>
                        <button type="button" id="search" class="btn btn-default btn-info">搜索</button>
                </form>
                <table id="table" data-toolbar="#toolbar"></table>
    

    页面效果

    queryParams 设置

    设置 queryParams 属性,params对象包含:limit, offset, search, sort, order, 可以自己添加搜索参数

            //得到查询的参数,会在url后面拼接,如:?rows=5&page=2&sortOrder=asc&search_kw=&_=1564105760651
            queryParams: function (params) {
                // params对象包含:limit, offset, search, sort, order
                //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
                var temp;
                temp = {
                    page: (params.offset / params.limit) + 1,   //页码
                    size: params.limit,   //页面大小
                    project_name: $('#toolbar #project_name').val(),
                    publish_app: $('#toolbar #publish_app').val()
                    //查询框中的参数传递给后台
                    //search_kw: $('#search-keyword').val(), // 请求时向服务端传递的参数
                };
                return temp;
            }
    

    定义点击 search 按钮时刷新表格(点右侧的刷新按钮实现效果也是一样)

    // 搜索功能
    $("#search").click(function(){
        // 刷新表格
        $('#table').bootstrapTable('refresh');
    })
    

    点击搜索提交后,会看到请求参数已经带过去

    后端根据传过去的参数,查询到结果返回就可以实现搜索功能了

  • 相关阅读:
    Spring--AOP
    Database--事务
    Neo4j--UNIQUE约束
    Neo4j--INDEX索引
    排序算法 目录
    数据结构 目录
    设计模式 目录
    建造者模式及应用举例
    模板模式以及应用举例
    真·随笔
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/15754571.html
Copyright © 2020-2023  润新知