您好,登錄后才能下訂單哦!
layui的table在使用了toolbar工具欄后,刷新表格,工具欄的按鈕會失效,原因是表格重新加載后,沒有綁定工具欄按鈕的觸發事件,因此只需要在表格初始化完畢之后和刷新表格完畢后重新綁定一下所有按鈕的綁定事件就可以了,這里把事件處理集合到了一個方法中,請參照bindTableToolbarFunction,具體代碼如下:
<section class="layui-fluid">
<aside class="layui-card" id="queryDiv">
<div class="layui-elem-quote">
<form class="layui-form">
<div class="layui-inline">
<label>號碼:</label>
<div class="layui-input-inline">
<input class="layui-input" id="phone" type="text">
</div>
<a class="layui-btn search_btn" data-type="reload">搜索</a>
</div>
</form>
</div>
</aside>
<article class="my-table">
<table id="tableList" lay-filter="tableList"></table>
</article>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container" id="tableNav">
<button type="button" class="layui-btn layui-btn-sm" id="add">新增用戶</button>
<button type="button" class="layui-btn layui-btn-sm layui-btn-danger" id="del">刪除用戶</button>
</div>
</script>
</section >
layui.use(['form','layer','table'],function(){
var form = layui.form,
layer = parent.layer === undefined ? layui.layer : top.layer,
table = layui.table;
// 加載提示
var loadingMsg = layer.msg('數據請求中', {icon: 16,scrollbar: false,time: 0});
// 初始化表格及數據
var tableIns = table.render({
elem: '#tableList',
url : 'sysUser/list',
where :{
phone : $("#phone").val()
},
cellMinWidth : 95,
toolbar: "#toolbarDemo", //讓工具欄左側顯示默認的內置模板
defaultToolbar: ['filter'], // 工具欄右側的圖標按鈕['filter', 'print', 'exports']
even: true, // 開啟斑馬線效果
page : true,
// height : "full-125",//放置在頁面底部
limits : myLimits,
limit : myLimit,
id : "tableListTable",
cols : [[
{field: 'userId', title: 'ID', width:100, align:"center"},
{field: 'userName', title: '用戶名', minWidth:150, align:"center"},
{field: 'state', title: '狀態', width:80, align:"center", templet: stateFormat},
{field: 'sex', title: '性別', width:80, align:"center", templet: sexFormat},
{field: 'remark', title: '備注', align:"center"}
]],
done: function(res, curr, count){
// 關閉提示層
layer.close(loadingMsg);
// 綁定表格工具欄按鈕的觸發事件
bindTableToolbarFunction();
}
});
// ==================== 定義常規函數 ====================
// 刷新表格數據
function reloadTable(){
// 加載提示
loadingMsg = layer.msg('數據請求中', {icon: 16,scrollbar: false,time: 0});
// 重新加載數據
table.reload("tableListTable",{
page: {
curr: 1 //重新從第 1 頁開始
},
where: {
phone : $("#phone").val()
},
done: function(res, curr, count){
layer.close(loadingMsg);
bindTableToolbarFunction()
}
});
}
// 搜索【此功能需要后臺配合,所以暫時沒有動態效果演示】
$(".search_btn").on("click",function(){
// 刷新表格
reloadTable();
});
// 格式化顯示用戶狀態信息
function stateFormat(d){
var str;
if (d.state == 0) {
str = '<span class="fontColor_red">禁用</span>';
} else if(d.state == 1) {
str = '<span class="fontColor_green">正常</span>';
} else {
str = '<span class="fontColor_darkOrange">鎖定</span>';
}
return str;
}
// 格式化顯示sex信息
function sexFormat(d){
var str;
if (d.sex == 0) {
str = '女';
} else if(d.sex == 1) {
str = '男';
} else {
str = '<span class="fontColor_red">未知</span>';
}
return str;
}
// ==================== 定義事件處理 ====================
// 綁定事件集合處理(表格加載完畢和表格刷新的時候調用)
function bindTableToolbarFunction() {
// 綁定新增用戶事件
$("#add").on("click", function() {
layer.alert("新增用戶被調用了", {icon: 6});
});
// 綁定刪除用戶事件
$("#del").on("click", function() {
layer.alert("刪除用戶被調用了", {icon: 6});
});
}
})
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。