前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用easyui实现增删改查(四):修改数据

利用easyui实现增删改查(四):修改数据

作者头像
一写代码就开心
发布2020-11-19 15:24:44
6280
发布2020-11-19 15:24:44
举报
文章被收录于专栏:java和python
在这里插入图片描述
在这里插入图片描述

需求:

数据列表后面是有修改的按钮,点击之后,会弹出一个模态框,并且对应的数据是会回填到模态框,之后我们修改之后,点击模态框里面的修改按钮,那么就可以将修改的数据传到后台,这样就可以完成修改功能

前端的显示

代码语言:javascript
复制
        //格式化显示操作的按钮
        caozuo:function (value,row,index) {
            return '<a href="javascript:void(0)" class="xiu_gai">修改</a> <a href="javascript:void(0)" class="shan_chu">删除</a>';
        }

修改界面的模态框

代码语言:javascript
复制
<%--修改的界面--%>
<div id="dialogedit" align="center">
    <form id="editform" action="/edit" method="post">
        <table>
         <input type="hidden" name="id" id="id"/></td>
           <tr>
                <td>名字</td>
                <td><input type="text" name="name" id="name"/></td>
            </tr>
            <tr>
                <td>性别</td>
                <td><input type="text" name="gender" id="gender"/></td>
            </tr>
            <tr>
                <td>年龄</td>
                <td><input type="text" name="age" id="age"/></td>
            </tr>
            <tr>
                <td>手机</td>
                <td><input type="text" name="phone" id="phone"/></td>
            </tr>
            <tr>
                <td>地址</td>
                <td><input type="text" name="address" id="address"/></td>
            </tr>
        </table>


    </form>

</div>

给这个模态框加上easyui的样式

代码语言:javascript
复制
  //    生效编辑用户的easyui的样式

    $('#dialogedit').dialog({
        width:300,
        title:"编辑客户信息",
        iconCls:"icon-man",
        buttons:"#datagridtooredit",
        closed:true   //定义这个弹框初始化的时候是关闭的


    })

写了上面的代码,模态框我们是看不见的,因为easyui样式里面我们已经关闭了,现在给列表里面的修改按钮添加事件,一点击这个修改按钮,就弹出模态框界面,并且数据回填

代码语言:javascript
复制
    $("#datagridpersion").datagrid({

        title:"用户信息",
        iconCls:"icon-man",
        height:500,
        width:1000,
        url:'/showPersion',
        pagination:true,
    //    引用按钮组
        toolbar: '#datagridtoorbar',
        rownumbers:true, //显示行号
        checkOnSelect:false, //为false的时候,只有复选框被选中,才是真正的选中
        striped:true, //黑白相间
        //数据加载完成之后,执行的代码
        onLoadSuccess:function () {
            $('.xiu_gai').linkbutton({
                iconCls:"icon-edit",
                onClick:function () {
                //    点击了这个编辑按钮,先显示编辑的页面
                    $('#dialogedit').dialog({
                        closed:false,
                        //    是对话框有灯罩的效果
                        modal:true
                    })

                    // console.log($(this).parent().parent().parent().children())
                //    显示完修改的页面,现在需要将值回填到表单中,那么就需要获得当前行的值
                //    获得当前行的数据的id
                    var vid = $(this).parent().parent().parent().children().eq(0).find("input").val();
                    // console.log(vid)
                //    ajax请求获取当前的数据
                //    填充到当前的编辑页
                    var ps={'id':'1001','name':'六级','age':18,'gender':1,'phone':1836396369,'address':"哈哈哈哈"};
                    $('#editform').form('load','/getbyid?id='+vid);


                }
            });
            $('.shan_chu').linkbutton({
                iconCls:"icon-cancel"
            });
        }
    });

我们修改完成之后,点击模态框里面的修改,那么会触发以下方法

代码语言:javascript
复制
  编辑的按钮组的样式
    $('#datagridtooredit>a:contains(修改)').linkbutton({
        iconCls:"icon-edit",
    //    点击这个修改之后,将修改的数据往后台传
        onClick:function () {
        //    提交表单数据
            $('#editform').form('submit',{
                success:function (data) {
                    //给你一个提示的信息
                    var parse = JSON.parse(data);
                    $.messager.show({
                        title:"提示",
                        msg:parse.msg
                    });
                    //关闭修改的页面
                    $('#dialogedit').dialog({
                        closed:true

                    });
                    //    2 在表单提交成功之后,datagrid重新的加载
                    $("#datagridpersion").datagrid("reload")


                }


            });

        }
    });
在这里插入图片描述
在这里插入图片描述

前端已经完成,开始后端

代码语言:javascript
复制
    //    修改用户
    @ResponseBody
    @RequestMapping("/edit")
    public  Object  edit(person p){
        System.out.println(p.toString());
        int i1 = persionService.updateById(p);
        System.out.println(p);

        Map<String, String> map = new HashMap<>();
        map.put("code","200");
        map.put("msg","编辑成功");
        return map;

    }
代码语言:javascript
复制
    <update id="update">
            update persion
            <trim prefix="set" suffixOverrides=",">
                <if test="name != null">
                    name =#{name},
                </if>

                <if test="gender != null">
                    gender =#{gender},
                </if>

                <if test="age != null">
                    age =#{age},
                </if>

                <if test="phone != null">
                    phone =#{phone},
                </if>

                <if test="address != null">
                    address =#{address},
                </if>
            </trim>
            where id=#{id}
    </update>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/09/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前端的显示
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档