http://www.cnblogs.com/jingch/p/7620075.html?utm_source=debugrun&utm_medium=referral
在table標簽的上方,加入這樣一組html
<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');
active[type] ? active[type].call(this) : '';
});
此時點擊查詢按鈕,會將keyword這個關鍵字傳到后端,接下來就是自己處理查詢關鍵字業務了。
到目前為止,搜索也有了,分頁也有了,對了,分頁會自動傳到后端page,limit2個值到后台,相當於(pageindex,pagesize)
預覽下效果

看看請求的參數

從參數可以看出,數據表格默認是get請求,返回的數據結構是這樣的
給表格增加操作按鈕
首先加入一組html,放到table標簽下面,代碼如下
<table class="layui-hide" id="LAY_table_user" lay-filter="useruv"></table>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-primary layui-btn-mini" lay-event="detail">查看</a>
<a class="layui-btn layui-btn-mini" lay-event="edit">編輯</a>
<a class="layui-btn layui-btn-danger layui-btn-mini" lay-event="del">刪除</a>
</script>
然后在js中指定工具條
//方法級渲染
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}
,{field:'right', title: '操作', width:177,toolbar:"#barDemo"}
]]
,id: 'testReload'
,page: true
,height: 600
});
界面效果如下

接下來需要給按鈕綁定事件,來完成功能操作
在LayUI里面,一般采用table.on()來表示事件,例如這個
//監聽表格復選框選擇
table.on('checkbox(useruv)', function(obj){
console.log(obj)
});

我勾選一個復選框,就打印一個日志

加入以下js代碼,來綁定工具條事件
//監聽工具條
table.on('tool(demo)', function(obj){
var data = obj.data;
if(obj.event === 'detail'){
layer.msg('ID:'+ data.id + ' 的查看操作');
} else if(obj.event === 'del'){
layer.confirm('真的刪除行么', function(index){
obj.del();
layer.close(index);
});
} else if(obj.event === 'edit'){
layer.alert('編輯行:<br>'+ JSON.stringify(data))
}
});
這時候,點擊按鈕就會有反應了。這里說明一下

接下來就是把數據傳遞到后端,直接將js改造如下
View Code
預覽效果


至此,數據表格的綁定、展示、分頁、搜索、查看、編輯、刪除、排序 功能都已經完成,是不是很簡單?
此處粘貼出完整的頁面代碼
View Code
應大家要求,將servlet代碼貼出來,其中用到了json.jar
View Code
靜態文件下載地址
不少同學不知道怎么綁定數據源,歡迎看我上一篇。表格數據源格式:http://www.layui.com/demo/table/user/?page=1&limit=30
總結:
LayUI為我們提供了強大豐富的類庫組件,完善的文檔,學習成本和開發成本相對低廉,具有快速,扁平化等優點。
關於數據表格的介紹就到這里。官方文檔
