easyui点击添加行,动态增删改查

关于这个问题,曾经借鉴过很多,但是都不理想。加上最近项目需要使用这个技术,就自己整理了一下,并成功实现。好了,废话不多说,直接给大家上代码参考吧。
里边加了许多自己项目ztree的判断,请自行略过。

<script type="text/javascript">
     $obj = $("#remark_dg");
     var indexs;
        $obj.datagrid({
            url:'<%=path%>/mbFlup/fetchCycByMbId.do',
             columns: [[ //显示的列
        {
            field: 'ID',
            title: '编号',
            width: 100,
            sortable: true,
            checkbox: true
        },
        {
            field: 'FLUP_TIMES',
            title: '次数',
            width: 100,
            sortable: true,
            editor: {
                type: 'validatebox',
                options: {

                }
            }
        },
        {
            field: 'FLUP_INTERVAL',
            title: '出院后天数',
            width: 100,
            editor: {
                type: 'validatebox',
                options: {

                }
            }
        },
        {
            field: 'FLUP_FREQUENCY',
            title: '随访频率',
            width: 100,
            editor: {
                type: 'validatebox',
                options: {

                }
            }
        }]],
            toolbar:'#tb',  //表格菜单
            fit:true,
            fitColumns:true,
            loadMsg:'加载中...', //加载提示
            rownumbers:true, //显示行号列
            singleSelect:true,//是允许选择一行
            onClickCell: onClickCell,
            queryParams:{   //在请求数据是发送的额外参数,如果没有则不用写
            },
            onLoadSuccess:function(data){
            },
            rowStyler:function(index,row){
            }
        });
         //可编辑行
        var editIndex = undefined;
        function endEditing(){
            if (editIndex == undefined){return true}
            if ($('#remark_dg').datagrid('validateRow', editIndex)){
                $('#remark_dg').datagrid('endEdit', editIndex);
                editIndex = undefined;
                return true;
            } else {
                return false;
            }
        }
       //修改的方式是直接点击单元格,所以table要加上onClickCell属性,然后重写onClickCell方法
        function onClickCell(index, field){

            if (editIndex != index){
                if (endEditing()){
                    $('#remark_dg').datagrid('selectRow', index)
                            .datagrid('beginEdit', index);
                    var ed = $('#remark_dg').datagrid('getEditor', {index:index,field:field});
                    ($(ed.target).data('textbox') ? $(ed.target).textbox('textbox') : $(ed.target)).focus();
                    editIndex = index;
                } else {
                    $('#remark_dg').datagrid('selectRow', editIndex);
                }
            }
        }
      // 添加
      function addRemark(){
            if (endEditing()){
                $('#remark_dg').datagrid('appendRow',{status:'P'});
                editIndex = $('#remark_dg').datagrid('getRows').length-1;
                $('#remark_dg').datagrid('selectRow', editIndex)
                               .datagrid('beginEdit', editIndex);
            }
        }
        // 删除
         function removeit(){  

            $.messager.confirm('Confirm','确认删除?',function(r){  
                if (r){   
                       var row = $('#remark_dg').datagrid('getSelected');  
                       var rindex = $('#remark_dg').datagrid('getRowIndex', row);
                       //alert(rindex);   
                       //$obj.datagrid('deleteRow', rindex);           
                    $.ajax({  
                        url : '<%=path%>/mbFlup/deleteFlupCycle.do',  
                        type : 'POST',                     
                        timeout : 60000,  
                        success : function(data) {     
                            var msg = '删除';  
                            if (data) {  
                                $obj.datagrid('deleteRow', rindex);  
                                //$obj.datagrid('reload');  
                                $.messager.alert('提示', msg + '成功!', 'info', function() {  
                                    //window.location.href = root + 'esbService/initSysConfig.do';  
                                });  
                            } else {  
                                $.messager.alert('提示', msg + '失败!', 'error', function() {  
                                    //window.location.href = root + 'esbService/initSysConfig.do';  
                                });  
                            }  
                        }  
                    });   
                }  
            });  

        }
        // 保存方法(添加修改用了一个方法accept())
        function accept(){
            if (endEditing()){
                var row = $('#remark_dg').datagrid('getSelected');
                var FLUP_TIMES = row.FLUP_TIMES;
                var FLUP_INTERVAL = row.FLUP_INTERVAL;
                var FLUP_FREQUENCY=row.FLUP_FREQUENCY;
                var id=row.ID;
                var mbid=$("#mbid").val();
                if(mbid!='')
                {
                    if(FLUP_TIMES!='' ||FLUP_INTERVAL!=''||FLUP_FREQUENCY!='')
                    {
                         $.ajax({
                                url:"<%=path%>/mbFlup/saveFlupCycle.do",
                                type:"post",
                                dataType:"json",
                                data:{
                                    id:id,
                                    times:FLUP_TIMES,
                                    interval:FLUP_INTERVAL,
                                    frequency:FLUP_FREQUENCY,
                                    mbid:mbid
                                },
                                success:function(data){
                                    alert(data)
                                    if(data){
                                        $.messager.show({
                                            title : '提示',
                                            msg : '操作成功'
                                        });
                                        $('#remark_dg').datagrid('load', {});
                                       $('#list_sfsqKs').datagrid('reload',{code:code}); 
                                    }else{
                                        $.messager.show({
                                            title : '提示',
                                            msg : '操作失败,请联系管理员 ------'
                                        });
                                    }
                                },
                                error:function(){
                                     $.messager.show({
                                         title : '提示',
                                         msg : '系统错误,请联系管理员------'
                                     });
                                }
                            });
                        }else{
                            $.messager.alert('操作提示','请添加随访周期!'); 
                            }

                 }else{
                     $.messager.alert('操作提示','请选择左侧模板!'); 
                     }

            }
        }
        function saveConten(){
            var mbid=$("#mbid").val();
            var content=$("#content").val();
            var xx = $('#tb input[name="x"]:checked').val();
             $.ajax({
                    url:"<%=path%>/mbFlup/updateMbTname.do",
                    type:"post",
                    dataType:"json",
                    data:{
                        mbid:mbid,
                        content:content,
                        xx:xx
                    },
                    success:function(data){
                        var treeObj = $.fn.zTree.getZTreeObj("z_tree"); //参数为树的id
                        var nodes = treeObj.getSelectedNodes();  
                        //判断选中的是否为子节点  
                        //若为父节点flag = true  
                        if(nodes.length > 0){  
                           var flag = nodes[0].isParent; 
                            if(flag == true){
                                  $.messager.show({
                                    title : '提示',
                                    msg : '父节点不能保存 ------'
                                });
                            }else{
                                 $.messager.show({
                                    title : '提示',
                                    msg : '操作成功'
                                });
                            }
                        } 


                    },
                    error:function(){
                      $.messager.show({
                          title : '提示',
                          msg : '系统错误,请联系管理员------'
                      });
                    }
                });
        }
</script>
<table id="remark_dg"></table>

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值