1. 程式人生 > >TP5 layui.table 查詢帶引數

TP5 layui.table 查詢帶引數

  //上述方法等價於
		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;