【layui】table的switch、edit修改

javascript 复制代码
<title>简单表格数据</title>

<div class="layui-card layadmin-header">
    <div class="layui-breadcrumb" lay-filter="breadcrumb">
        <a>系统设置</a>
        <a>简单表格数据</a>
    </div>
</div>

<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
    <div class="layui-card-header">简单表格数据</div>
    <div class="layui-card-body">
        <script type="text/html" id="toolbarDemo">
            <div class="layui-btn-container">
                <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
            </div>
        </script>
        <table class="layui-hide" id="test" lay-filter="test"></table>
        <script type="text/html" id="table_status">
            <input type="checkbox" name="kaiguan" value="{{d.id}}" lay-skin="switch" 
            lay-text="开启|禁止" class="layui-input" {{ d.kaiguan === 1 ? 'checked' : '' }} lay-filter="checkbox_status">
        </script> 
    </div>
</div>
</div>
</div>
</div>

<script>
layui.use(['admin','table', 'view', 'form', 'util','setter','layer','ourJs'], function(){
    var $ = layui.$
        ,admin = layui.admin
        ,setter = layui.setter
        ,element = layui.element
        ,form = layui.form
        ,view = layui.view
        ,layer = layui.layer
        ,util = layui.util
        ,table = layui.table
        ,ourJs = layui.ourJs
        ,router = layui.router();

    table.render({
        elem: '#test'
        ,url:'./user.json'
        ,toolbar: '#toolbarDemo'
        ,cols: [[
            {field:'id', width:90, title: 'ID', sort: true, align: 'center'}
            ,{field:'username', title: '用户名', align: 'center'}
            ,{field:'sex', title: '性别', align: 'center'}
            ,{field:'city', title: '城市',edit: 'text', align: 'center'}
            ,{field:'kaiguan', title: '开关', align: 'center',width: 96,templet: '#table_status'}
            ,{field:'experience', title: '积分', align: 'center'}
            ,{field:'classify', title: '职业', align: 'center'}
            ,{field:'wealth', title: '财富', align: 'center'}
        ]]
        ,page: true
    });
  	//监听工具条
  	//===edit的修改
    table.on('edit(test)', function(obj){
        var value = obj.value;
        if(obj.field === 'city'){
            admin.req({
                url: layui.setter.baseUrl + '接口地址'
                ,data: { id: obj.data.id, city: value }
                ,type: 'post'
                ,success: function (res) {
                    if (res.code == 1) {
                        layer.msg(res.msg, {icon: 1,shade:0.5,time: 1000});
                    } else {
                        layer.msg(res.msg, {icon: 5,anim: 6,shade: 0.5,time: 1000});
                    }
                }
            });
        }
    });
    // 监听菜单状态修改
  	//===switch的修改
    form.on('switch(checkbox_status)', function (e) {
        var _this = this, status = e.elem.checked;
        admin.req({
            url: layui.setter.baseUrl + '接口地址'
            ,data: { id: e.value,kaiguan: status?'1':'0' }
            ,type: 'get'
            ,success: function (res) {
                if (res.code == 1 || res.code == 0) {
                    ourJs.status_tong(table, _this, status);
                } else {
                    layer.msg(res.msg, { icon: 5, anim: 6, shade: 0.5, time: 1000 });
                }
            }
        });
    });
    
});
</script>

/static/admin/src/controller/ourJs.js

javascript 复制代码
layui.define(['jquery'],function(exports) {
    var $ = layui.jquery;
    var obj={
        status_tong:function(table,_this,status,type)
        {
            type=type==undefined?'status':type;
            var arr=table.cache;
            var data='';
            for(var i in arr){
                data=arr[i];
            }           
            var td=$(_this).parent().parent();
            var tr=td.parent().attr('data-index');
            if (status === true) {
                status = 1;
            } else {
                status = 0;
            }
            for(var i in data[tr]){
                if(i==type){
                    data[tr][i]=status;
                    break;
                }
            }
            
        }
    }
    exports("ourJs", obj);
});
相关推荐
烛阴5 分钟前
C# 正则表达式:量词与锚点——从“.*”到精确匹配
前端·正则表达式·c#
wyzqhhhh35 分钟前
京东啊啊啊啊啊
开发语言·前端·javascript
JIngJaneIL35 分钟前
基于java+ vue助农电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
想学后端的前端工程师1 小时前
【Java集合框架深度解析:从入门到精通-后端技术栈】
前端·javascript·vue.js
VcB之殇1 小时前
git常用操作合集
前端·git
yinuo1 小时前
前端跨页面通讯终极指南⑧:Cookie 用法全解析
前端
小鑫同学1 小时前
vue-pdf-interactor 技术白皮书:为现代 Web 应用注入交互式 PDF 能力
前端·vue.js·github
GISer_Jing1 小时前
Nano Banana:AI图像生成与编辑新标杆
前端·javascript·人工智能
csdn_aspnet2 小时前
用100行實現HTML5可存檔塗鴉版
javascript
布茹 ei ai2 小时前
城市天气查询系统 (City Weather Dashboard)
javascript·vue.js·html·css3·开源软件·天气预报