TP5 layui.table 查詢帶引數
阿新 • • 發佈:2018-12-15
//上述方法等價於
table.reload('demo', {
where: { //設定非同步資料介面的額外引數,任意設
limit: $('#limit').val()
,sotitle: $('#sotitle').val()
}
});
例子:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>檢視課程評論列表</title> <link rel="stylesheet" href="__STATIC__/layui/css/layui.css" media="all"> <script src="__STATIC__/layui/layui.js"></script> <link rel="stylesheet" href="__ADMIN__/css/index.css" media="all"> </head> <body style="background-color: #FFFFFF;"> <!-- 你的HTML程式碼 --> <!-- 表格 --> <div class="layui-fluid" > <form action="{:url('edit',['id'=>$id])}" method="post" style="margin-top: 20px;"> <div class="layui-inline"> <input class="layui-input" name="limit" id="limit" style="width: 50px;" placeholder="行數" value="{empty name="limit"}10{else /}{$limit}{/empty}" > </div> <div class="layui-inline"> <input class="layui-input" name="sotitle" id="sotitle" value="{$sotitle}"> </div> <button class="layui-btn" id="sear" data-type="reload">搜尋</button> </form> <table class="layui-hide" id="demo" lay-filter="demo"></table> <script type="text/html" id="checkboxTpl"> <!-- 這裡的 checked 的狀態只是演示 --> <input type="checkbox" name="lock" value="{{d.hide}}" title="不通過" lay-filter="examine" {{ d.hide == 1 ? 'checked' : '' }}> </script> </div> <!-- 表格end --> <script> layui.use(['layer', 'form','jquery','table'], function(){ var layer = layui.layer ,form = layui.form ,$= layui.$ ,table=layui.table; table.render({ elem: '#demo' ,url: '{:url('edit')}?action=commenttable' ,limit:10 ,where: {id: {$id}} ,cellMinWidth: 80 ,cols: [[ {type:'numbers'} ,{field:'id', title:'ID', width:70} ,{field:'content', title:'內容'} ,{field:'hide', title:'稽核', width:120, templet: '#checkboxTpl', sort: true} ]] ,page: true }); //監聽鎖定操作 form.on('checkbox(lockDemo)', function(obj){ layer.tips(this.value + ' ' + this.name + ':'+ obj.elem.checked, obj.othis); }); //排序 table.on('sort(demo)', function(obj){ //注:tool是工具條事件名,test是table原始容器的屬性 lay-filter="對應的值" //儘管我們的 table 自帶排序功能,但並沒有請求服務端。 //有些時候,你可能需要根據當前排序的欄位,重新向服務端傳送請求,如: table.reload('demo', { initSort: obj //記錄初始排序,如果不設的話,將無法標記表頭的排序狀態。 layui 2.1.1 新增引數 ,where: { //請求引數 field: obj.field //排序欄位 ,order: obj.type //排序方式 } }); }); //監聽工具條 table.on('tool(demo)', function(obj){ var data = obj.data; if(obj.event === 'examine'){ $.ajax({ type: "post", url: 'edit', data: {id:data.id,action:'examine'}, success: function(data){ if(data['code']==1){ layer.msg(data['msg']); setTimeout(function(){ self.location='{:url('edit')}?id={$id}'; },1000) }else{ layer.msg(data['msg']); } }, error: function(){ layer.msg('更新失敗!'); } }); } }); //上述方法等價於 table.reload('demo', { where: { //設定非同步資料介面的額外引數,任意設 limit: $('#limit').val() ,sotitle: $('#sotitle').val() } }); }); </script> </body> </html>
控制器:
$field=input('field');//欄位 $order=input('order');//排序方式 //排序 if($field){ $od=$field." ".$order; }else{ $od="id desc"; } if($sotitle){ $where['title'] = ['like', "%".$sotitle."%"]; } $where['deleted'] = 0;//狀態 0正常 1回收站 $rsu=Db::name('comment')->where($where)->where('pid',$id)->order($od)->limit($limit)->page($page)->select(); $rsu1=Db::name('comment')->where($where)->where('pid',$id)->select(); $count = count($rsu1);//取得記錄集總條數 json(0,'資料返回成功',$count,$rsu); return $data;