正常情况下hide是true,怎么实现按一个按钮之后将true改为false,数据列如下:
{field: '',hide:true,title: 'ceshi',align: 'center',rowspan: 2,edit: 'text'},
不知道用什么语句去改变hide的值
给按钮加click事件,在方法里将值修改,然后调用table的渲染方法
请问下,解决了吗
这个是监听layui自带的筛选功能实现的,点击以后,给要改变的列的hide重新赋值,重载表格
////用户自定义列查询并刷新
intCols();
function intCols() {
$.ajax({
url: "/Filtratelist/FindAllAsFiltratelist",
method: "Get",
data: { "Page": "ZZMX" },
headers: { 'Token': localStorage.getItem("Token") },
dataType: 'json',
success: function (result) {
console.log(cols);
if (result.Count > 0) {
for (var j = 0; j < result.Count; j++) {
for (var i = 0; i < cols[0].length; i++) {
if (cols[0][i].field != undefined) {
if (result.Result[j]['field'] == cols[0][i].field) {
cols[0][i].hide = result.Result[j]['hide']
}
}
}
}
table.reload('datatable');
}
}
})
}
//头工具栏事件
table.on('toolbar(datatable)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
//自定义头工具栏右侧图标 - 提示
case 'LAYTABLE_COLS'://筛选列
layui.form.on('checkbox(LAY_TABLE_TOOL_COLS)', function (ob) {
console.log(ob.elem.name);//列field
console.log(ob.elem.checked);//是否选中
$.ajax({
url: "/Filtratelist/EditAsFiltrate",
method: "post",
data: { "Page": "ZZMX", "field": ob.elem.name, "hide": ob.elem.checked },
headers: { 'Token': localStorage.getItem("Token") },
dataType: 'json',
type: 'delete',
success: function (results) {
location.reload();
}
})
});
break;
};
});