js常用编辑方法

js常用编辑方法

1.datagrid的使用

html:
<table id="dg"></table>
          <div id="tb" style="height:auto;padding:3px;font-size:14px">
            <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="addFm()">新增</a>
            <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true" onClick="editFm()">编辑</a>
            <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true" onClick="deleteFm()">删除</a>
            <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true" id="finish" onClick="clztFm()">处理完成</a>
          </div>
js:$('#dg').datagrid({
        border : 2,                         //边界为2
        nowrap : false,                     //废弃禁止自动换行,即可以自动换行
        fit : true,                         //自适应
        singleSelect : true,                //单选一行
        fitColumns : false,                 //适应多列
        url : '...',                        //跳转路径
        width : '350px',                    //总宽度
        height : '300px',                   //总高度
        toolbar : '#tb',                    //工具条(增删改) 
        loadMsg:'数据加载中...',
            columns: [
                [
                    {"field":"dabh","title":"档案编号","rowspan":1},
                    {"field":"name","title":"当事人","rowspan":1},
                    {"field":"fmaddress","title":"罚款缴纳地点","rowspan":1},
                    {"field":"fmtime","title":"罚款缴纳时间","rowspan":1},
                    {"field":"jzlx","title":"建筑类型","rowspan":1},
                    {"field":"fmbm","title":"处理部门","rowspan":1},
                    {"field":"fmclmj","title":"罚没处理面积","rowspan":1},
                    {"field":"cfje","title":"处罚金额","rowspan":1},
                    {"field":"wjyt","title":"违建用途","rowspan":1},
                    {"field":"id","title":"","hidden":true,"rowspan":1}
                ]],
            rownumbers: true,
            onClickRow: function (index, row) {  //easyui封装好的时间(被单机行的索引,被单击行的值)
                //需要传递的值
                rowid = row["id"];
            },
            onLoadSuccess:function(data){       //当事件加载成功后,执行的函数
                var rowdabh = data.rows[0]["dabh"];
            }
    });
//reload方法,参数需重传
datagrid("reload",{
    "year":2017
})

2.ajax的使用

(1)data提交

js代码:

$.ajax({
            type:"post",                        //上传请求方式(post和get)
            url:"...",                          //请求路径
            data:{"zdcsEntity.zdcsid":zdcsid},  //上传的参数
            dataType:"json",                    //服务器返回类型
            success:function(data){             //当请求响应成功时,返回data
                                            //(如果data为entity,则data.bz可直接获取响应数据)
                 $('#e_bz').val(data.bz);      //如果data为map类型,则data['message']
                    $("#e_zdcsname").textbox('setValue', data.zdcsname);
                    $('#e_zdcstype').combobox('setValue', data.zdcstype);
                    $('#e_cid').val(data.cid);
                    $('#e_wgid').val(data.wgid);
                    $('#e_cname').val(data.cname);
                    $('#e_wgname').val(data.wgname);
                    $('#e_geo').val(data.geo);
            }
            });

java代码:

public String findbzById(){
            try {
                TZdcsEntity one = this.getZdcsEntity();
                TZdcsEntity entity = null;
                String jsonStr = "";
                //DataGridZdcs dataGridZdcs=new DataGridZdcs();
                List<TZdcsEntity> list =new ArrayList<TZdcsEntity>();
                JSONObject object =null;
                if (one != null) {
                entity = tZdcsService.findEntityById(one.getZdcsid());
                if(entity != null){
                    GsonBuilder builder = new GsonBuilder();//创建GsonBuilder
                    //builder注入Geo类型
                    builder.registerTypeAdapter(Geometry.class, new GeometryTypeAdapter());
                    builder.setDateFormat("yyyy-MM-dd");//builder设置日期格式
                    Gson gson = builder.create();//创建builder创建gson实体类
                    jsonStr = gson.toJson(entity);//将entity转成json格式的字符串
                }
            }
                //设置response服务器返回的类型,text或json格式
                response.setContentType("text/json;charset=UTF-8");
                //将字符串数据写入response
                ServletActionContext.getResponse().getWriter().print(jsonStr);  
            }catch (Exception e){
                e.printStackTrace();
            }
            }

(2)表单提交

js代码:

$('#user_add').form({'submit',{  //form表单提交,默认上传json格式
                url:"Zdcs_addTzdcsEntity.action",  //请求路径
                dataType:'text',  //服务器返回类型为text格式
                success:function(data){
                    alert(data);
                }
            }   
});

html前台:

<form id="user_add" method="post">
                <table cellpadding="5">
                    <tr>
                        <td>重点场所名称:</td>
                        <td style="width: 300px;">
                        <input class="easyui-textbox" id="u_zdcsname" name="zdcsEntity.zdcsname" data-options="required:true" style="width: 220px"/>
                        </td>
                    </tr>
                    <tr>
                        <td>重点场所类型:</td>
                        <td>
                            <select id="u_zdcstype" class="easyui-combobox" name="zdcsEntity.zdcstype" style="width:220px;" data-options="required:true" editable="false" >
                                <option>人口密集场所</option>
                                <option>地质灾害点</option>
                                <option>宗教场所</option>
                                <option>河道水库</option>
                                <option>安全生产重点区域</option>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td>备注:</td>
                        <td><textarea style="width: 220px;height: 50px" id="u_bz" name="zdcsEntity.bz"></textarea><%--<input class="easyui-textbox" type="text" id="u_bz" name="tZdcsEntity.bz" style="width: 220px;"/>--%></td>
                    </tr>
                    <tr>
                        <td>坐标:</td>
                        <td><textarea style="width: 220px;height: 40px" id="u_geo" name="zdcsEntity.geostr"></textarea><%--<input class="easyui-textbox" type="text" id="u_bz" name="tZdcsEntity.bz" style="width: 220px;"/>--%></td>
                    </tr>
                </table>
                <input type="hidden" id="u_cid" name="zdcsEntity.cid" />
                <input type="hidden" id="u_wgid" name="zdcsEntity.wgid" />
                <input type="hidden" id="u_cname" name="zdcsEntity.cname" />
                <input type="hidden" id="u_wgname" name="zdcsEntity.wgname" />
                <%--<input type="hidden" id="u_geo" name="zdcsEntity.geostr" />--%>
            </form>

java后台:

//新增
            public String addTzdcsEntity(){
                try {
                    TZdcsEntity one = this.getZdcsEntity();
                    String jsonStr="新增失败!";
                    if(one!=null){
                        one.setZdcsid(GUID.create());
                        Geometry geo = GeometryUtil.createGeoByWKT(one.getGeostr());
                        one.setGeo(geo);
                        TCEntity tcEntity=tcService.findEntityById(one.getCid());
                        TWgEntity tWgEntity=twgService.findEntityById(one.getWgid());
                        if(tcEntity!=null){
                        one.setCname(tcEntity.getCname());
                        }
                        if( tWgEntity!=null){
                            one.setWgname(tWgEntity.getWgname());
                        }
                        tZdcsService.saveEntity(one);
                        jsonStr = "新增成功!";
                    }
                    response.setContentType("text/json;charset=UTF-8");
                    ServletActionContext.getResponse().getWriter().print(jsonStr);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }

3.open窗口 (js代码):

if(rowid != ""){
                $(' #fm_isadd').val(false);
                var w = screen.width/2-100;                     //定义屏幕宽度
                var h = screen.height/1.2;                      //定义屏幕高度
                //获取窗口的垂直位置
                var iTop = (window.screen.availHeight - 30 - h)/2;
                //获取窗口的水平位置
                var iLeft = (window.screen.availWidth -10 - w)/2;
                var s = 'width='+w+",height="+h+',top='+iTop+',left='+iLeft+',location=no,toolbar=no,menubar=no,status=yes';
                var url = 'yhdzaddFmIndex.action?fmid='+rowid+'&cid='+cid;
                //转义url
                window.open(encodeURI(url),"_blank",s);         //打开新窗口
            }else{
                $.message.alert('提示','请选择要编辑的罚没记录','info');//弹出对话框,提示
                return ;
}

4.动态加载树

function loadGrid(nodeFid,nodeId){//nodeText为村名nodeId为村Id
                var title=nodeText;
                var url ="cunDrawIndex.action";
                var content = '<iframe scrolling="yes" frameborder="0"  src="' + url + '" style="width:100%;height:100%;"></iframe>';
                if(maintable.tabs('exists', title)) {
                    maintable.tabs('update',{
                        tab: maintable.tabs('getTab', title),
                        options: {
                            title: nodeText,
                            content: content
                        }
                    });
                    maintable.tabs('select',title);
                }else {
                    maintable.tabs('add', {
                        title: nodeText,
                        closable: true,
                        content: content
                    })
                }
            }

5.上传文件

function ajaxFileUpload(){
                //设置加载图标的显示<img id="loading" src="../images/loading.gif" style="display:none;">
                $('#loading').show();
                //每20毫秒获取一次上传进度
                //uploadProcessTimer = window.setInterval(getFileUploadProcess, 20);
                $.ajaxFileUpload
                ({
                    url:'ajaxUploadServlet',
                    secureuri:false,                    //一般设置为false,是否安全上传
                    fileElementId:'fileToUpload',       //文件上传控件的id属性<input id="fileToUpload" name="file1" accept=".xls" type="file" class="input">
                    dataType: 'json',                   //服务器返回值类型,设置为json
                    data:{name: $('#name').val()},     //上传参数
                    success: function (data, status)    //服务器成功响应处理函数
                    {
                        //清除定时器
                        if(uploadProcessTimer) {
                            window.clearInterval(uploadProcessTimer);
                        }
                        $('#loading').hide();          //隐藏加载图标
                        var message = data['message'];
                        var code = data['code'];
                        if(code != 200) {               //如果code为200,则上传进度为0%
                            $('#fileUploadProcess').html('0%');
                        }
                        if(message)
                        {
                            //alert(data.message+data.filename);
                            importExcel(data.filename); //导入Excel
                        }
                    },
                    error: function (data, status, e)
                    {
                        //清除定时器
                        if(uploadProcessTimer) {
                            window.clearInterval(uploadProcessTimer);
                        }
                        $('#loading').hide();
                        //这里处理的是网络异常,返回参数解析异常,DOM操作异常
                        alert("上传发生异常1");
                    }
                })
                return false;
            }
            //获取文件上传进度
            function getFileUploadProcess() {
                $.get('getFileProcessServlet', function(data) {
                    $('#fileUploadProcess').html(data);        //上传进度:<label id="fileUploadProcess"></label>
                });
            }

6.设定日期

function myformatter(date){
                var y = date.getFullYear();     //设置年份
                var m = date.getMonth()+1;      //设置月份
                var d = date.getDate();         //设置日期
                return y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d);//返回yyyy-MM-dd的格式
            }
            function myparser(s){
                if(!s)return new Date();        //如果s不存在,创建新的日期
                var ss = (s.split('-'));        //将日期拆分成数组
                var y = parseInt(ss[0],10);     //设置年,十进制解析
                var m = parseInt(ss[1],10);     //设置月份,十进制解析
                var d = parseInt(ss[2],10);     //设置日期,十进制解析
                if(!isNaN(y) && !isNaN(m) && !isNaN(d)){
                    return new Date(y,m-1,d);
                }else{
                    return new Date();
                }           
            }

html前台:

<input class="easyui-datebox" data-options="formatter:myformatter,parser:myparser"/>            

7 数组转json对象

var jsonstr="[";
for(var i=0;i<data.length;i++) {
    if(data[i]!=null) {
       jsonstr += "{id:" + "\"" + data[i] + "\",text:" + "\"" + data[i] + "\"},";
    }
}
jsonstr = jsonstr.substring(0,jsonstr.lastIndexOf(','));
jsonstr +="]";
var years = eval(jsonstr);
//数组转json串
var arr = [1,2,3, { a : 1 } ];
JSON.stringify( arr );

//json字符串转数组
var jsonStr = '[1,2,3,{"a":1}]';
JSON.parse( jsonStr );

8 combobox动态加载


 var date=new Date;
 var y=date.getFullYear();
 $("#sel").combobox({
                    valueField: "id",
                    textField: "text",             
                    data: years,          //接上文的years
                    value:y,              //获取当年的年份  
                    onSelect: function (rec) {
                        //$("#sel").combobox("setValue", rec.text);
                        $('#dg').datagrid("reload", {//将选中的值重加载给dg
                            "year": rec.text
                        });
                    }
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值