layui數(shù)據(jù)表格重載實現(xiàn)往后臺傳參
1、網(wǎng)上的代碼:
<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這個關鍵字傳到后端,接下來就是自己處理查詢關鍵字業(yè)務了。
到目前為止,搜索也有了,分頁也有了,對了,分頁會自動傳到后端page,limit2個值到后臺,相當于(pageindex,pagesize)
2、實踐,
(1)html頁面及javascript代碼如下:
<!--index.html內(nèi)容如下--> {% 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: '短信內(nèi)容', sort: true} ,{field:'create_time', title: '發(fā)送時間',width:160} ]] ,id: 'testReload' ,page: true ,height: 500 }); var $ = layui.$, active = { reload: function(){ var demoReload = $('#phone'); $('.env_message').html('當前操作環(huán)境:'+ parent.window.env_tools); //執(zhí)行重載 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數(shù)據(jù)表格重載實現(xiàn)往后臺傳參就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
axios使用攔截器統(tǒng)一處理所有的http請求的方法
這篇文章主要介紹了axios使用攔截器統(tǒng)一處理所有的http請求的方法,通過一段實例代碼給大家介紹了axios攔截器使用,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11javascript獲得CheckBoxList選中的數(shù)量
javascript獲得CheckBoxList選中的數(shù)量(jQuery與Javascript對照學習/前臺與后臺)2009-10-10JS實現(xiàn)生成由字母與數(shù)字組合的隨機字符串功能詳解
這篇文章主要介紹了JS實現(xiàn)生成由字母與數(shù)字組合的隨機字符串功能,結(jié)合實例形式詳細分析了JavaScript生成隨機字符串的方法及相關優(yōu)化操作技巧,需要的朋友可以參考下2018-05-05JavaScript運動框架 解決防抖動問題、懸浮對聯(lián)(二)
這篇文章主要為大家詳細介紹了JavaScript運動框架的第二部分,解決防抖動問題、懸浮對聯(lián)問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05微信內(nèi)置瀏覽器WeixinJSBridge的使用技巧(隱藏右上角按鈕,獲取用戶網(wǎng)絡狀態(tài),支付等)
這篇文章主要介紹了微信內(nèi)置瀏覽器WeixinJSBridge的使用技巧,隱藏右上角按鈕,獲取用戶網(wǎng)絡狀態(tài),支付,隱藏下方工具欄等,需要的朋友可以參考下2024-02-02