layui数据表格重载实现往后台传参


Posted in Javascript onNovember 15, 2019

1、网上的代码:

<div class="demoTable"> 
搜索商户: <div class="layui-inline"> 
<input class="layui-input" name="keyword" id="demoReload" autocomplete="off"> 
</div> 
<button class="layui-btn" data-type="reload">搜索</button></div> 
 
在js加入初始化代码和定义加载方法 
layui.use('table', function(){ 
var table = layui.table; 
 
//方法级渲染 
table.render({ 
elem: '#LAY_table_user' 
,url: 'UVServlet' 
,cols: [[ 
{checkbox: true, fixed: true} 
,{field:'id', title: 'ID', width:80, sort: true, fixed: true} 
,{field:'aid', title: '商户', width:80, sort: true} 
,{field:'uv', title: '访问量', width:80, sort: true,edit:true} 
,{field:'date', title: '日期', width:180} 
,{field:'datatype', title: '日期类型', width:100} 
 
]] 
,id: 'testReload' 
,page: true 
,height: 600 
}); 
 
var $ = layui.$, active = { 
reload: function(){ 
var demoReload = $('#demoReload'); 
 
table.reload('testReload', { 
where: { 
keyword: demoReload.val() 
} 
}); 
} 
}; 
)};

绑定click点击事件

$('.demoTable .layui-btn').on('click', function(){ var type = $(this).data('type'); //注意顶一个括号中的格式,class用.id用#,中间有一个空格
active[type] ? active[type].call(this) : ''; 
});

此时点击查询按钮,会将keyword这个关键字传到后端,接下来就是自己处理查询关键字业务了。

到目前为止,搜索也有了,分页也有了,对了,分页会自动传到后端page,limit2个值到后台,相当于(pageindex,pagesize)

2、实践,

(1)html页面及javascript代码如下:

<!--index.html内容如下-->
{% extends 'common.html'%}
  {% block content %}
    <div class="layui-row">
				<form class="layui-form layui-col-md12 we-search" id="form_gen_data">
					<div class="layui-inline">
            <label class="layui-form-label">手机号</label>
						<input class="layui-input" placeholder="手机号" name="phone" id="phone">
					</div>
 
          <div class="layui-inline">
            <label class="layui-form-label">身份证</label>
						<input class="layui-input" placeholder="身份证" name="idno" id="idno">
					</div>
 
          <div class="layui-inline">
            <label class="layui-form-label">姓名</label>
						<input class="layui-input" placeholder="姓名" name="name" id="name">
					</div>
 
          <div class="layui-inline">
            <label class="layui-form-label">crfuid</label>
						<input class="layui-input" placeholder="crfuid" name="crfuid" id="crfuid">
					</div>
 
				</form>
			</div>
 
			<div class="weadmin-block">
 
				<button class="layui-btn" id="query_extra" style="display:none;">扩展功能</button>
				<button class="layui-btn" id="query_thumb">开始查询</button>
				<button class="layui-btn" id="query_limit">额度查询</button>
				<button class="layui-btn" id="query_member">会员查询</button>
				<button class="layui-btn" id="query_account">账户查询</button>
 
				<button class="layui-btn" id="query_sms" οnclick="return false;" data-type="reload">短信验证码查询</button>
				<div class="layui-collapse" lay-accordion>
 
				 <div class="layui-colla-item">
					<h2 class="layui-colla-title">扩展功能</h2>
					<div class="layui-colla-content">
						{% for business in common_business %}
						<button class="layui-btn layui-btn-danger common_business" id="{{business.business_code}}" data-type="{{business.business_code}}" data-extra="{{business.business_is_extra}}">{{business.business_name}}</button>
						{% endfor %}
					</div>
				 </div>
				</div>
 
 
			</div>
			<div class="layui-collapse">
			 	<div class="layui-colla-item">
					<h2 class="layui-colla-title">日志</h2>
					<div class="layui-colla-content layui-show"><textarea placeholder="" id="log" class="layui-textarea" name="desc"></textarea></div>
 
 
				</div>
 
				<div class="layui-colla-item">
					<h2 class="layui-colla-title">附加信息</h2>
					<div class="layui-colla-content layui-show" id="extra_info">
 
					</div>
				</div>
			</div>
 
 
			<table class="layui-hide" id="table_message" lay-filter="user"></table>
 
      <script type="text/javascript" src="/static/lib/layui/layui.js" charset="utf-8"></script>
 
			<script>
      layui.use('table', function(){
        var table = layui.table;
 
        //方法级渲染
        table.render({
          elem: '#table_message'
          ,url: '/sms/message'
          ,method:'post'
          ,where: {
                phone: '',
                env_tools:parent.window.env_tools
              }
          ,cellMinWidth: 100
          ,cols: [[
            {checkbox: true, fixed: true}
            ,{field:'id', title: 'ID', sort: true,width:120, fixed: true}
            ,{field:'phone', title: '手机号',width:120}
            ,{field:'content', title: '短信内容', sort: true}
            ,{field:'create_time', title: '发送时间',width:160}
          ]]
          ,id: 'testReload'
          ,page: true
          ,height: 500
        });
 
        var $ = layui.$, active = {
          reload: function(){
            var demoReload = $('#phone');
            $('.env_message').html('当前操作环境:'+ parent.window.env_tools);
            //执行重载
            table.reload('testReload', {
              page: {
                curr: 1 //重新从第 1 页开始
              }
              ,where: {
                phone: demoReload.val(),
                env_tools:parent.window.env_tools
              }
            });
          }
        };
 
        $('.weadmin-block #query_sms').on('click',
        function(){
          var type = $(this).data('type');
          active[type] ? active[type].call(this) : '';
        });
      });
    </script>
 
  {% endblock %}

(2)后台代码如下:

@toolsbp.route('/')
@toolsbp.route('/index',methods=['GET','POST'])
def index():
  
  if request.method=='POST':
    data={}
    data['data']=''
    data['code']=0
    data['msg']='查询成功'
    env=request.form.get('env_tools')
 
    if env is None:
      return json.dumps(data)
    phone=request.form.get('phone')
    where=''
    if phone:
      where="where phone like '%(phone)s'"%{'phone':'%'+phone+'%'}
    dbinfo=env_config.ENV_LIST.get(env.upper()).get('sms_platform')
    dbtool=MysqlPool.MysqlPool(dbinfo.get('db_name'))
    result=dbtool.getAll("select * from %(table_name)s.sms_send_record %(where)s order by create_time desc limit %(page)d,%(pagesize)d;"%{'where':where,'table_name':dbinfo.get('table_name'),'page':int(request.form.get('page'))-1,'pagesize':int(request.form.get('limit'))})
    data['data']=result
    if result:
      data['count']=len(result)
    else:
      data['count']=0
    return json.dumps(data,cls=MysqlPool.DateEncoder)
  return render_template('tools/index.html')

(3)页面功能如下:

layui数据表格重载实现往后台传参

以上这篇layui数据表格重载实现往后台传参就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用YUI做了个标签浏览效果
Feb 20 Javascript
jqPlot 图表中文API使用文档及源码和在线示例
Feb 07 Javascript
JavaScript中的函数重载深入理解
Aug 04 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
Sep 28 Javascript
javascript实现添加附件功能的方法
Nov 18 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
Aug 11 Javascript
BootStrap Table对前台页面表格的支持实例讲解
Dec 22 Javascript
react redux入门示例
Apr 19 Javascript
vue实现微信分享功能
Nov 28 Javascript
NestJs 静态目录配置详解
Mar 12 Javascript
Layui弹出层 加载 做编辑页面的方法
Sep 16 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 Javascript
JS实现贪吃蛇游戏
Nov 15 #Javascript
Layui表格监听行单双击事件讲解
Nov 14 #Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
Nov 14 #Javascript
解决Layui数据表格显示无数据提示的问题
Nov 14 #Javascript
layui写后台表格思路和赋值用法详解
Nov 14 #Javascript
Layui实现主窗口和Iframe层参数传递
Nov 14 #Javascript
layui 弹出层值回传解决方式
Nov 14 #Javascript
You might like
提问的智慧(2)
2006/10/09 PHP
PHP程序级守护进程的实现与优化的使用概述
2013/05/02 PHP
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
菜鸟使用python实现正则检测密码合法性
2016/01/05 Python
Python面向对象编程基础解析(二)
2017/10/26 Python
python实现简易内存监控
2018/06/21 Python
Numpy中的mask的使用
2018/07/21 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
python3 sorted 如何实现自定义排序标准
2020/03/12 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
Python编写单元测试代码实例
2020/09/10 Python
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
电子商务专业自荐信
2014/06/02 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
高三英语教学计划
2015/01/23 职场文书
资产移交协议书
2016/03/24 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
导游词之台湾安平古堡
2019/12/25 职场文书
MYSQL数据库使用UTF-8中文编码乱码的解决办法
2021/05/26 MySQL
Spring boot admin 服务监控利器详解
2022/08/05 Java/Android