Easyui接收后台json数据处理的小结(二)

来源:互联网 发布:如何投诉广电网络 编辑:程序博客网 时间:2024/05/17 11:33
       EasyUI的combobox级联之后,我又遇到了EasyUI与后台交互的问题,在此次的小项目中主要是Spring的restful四种行为get,post,put和delete实现查、增、改、删。开始时由于增加和修改都使用同一个表单,总是无法修改。后发现原因是一是form表单只默认两种方法即post和get,二是其提交方式一旦写定都无法修改,后来只能另写一个表单load选中的datagrid的行,然后使用Ajax方法提交要修改的数据,js代码如下
function editData(){var selectedRows=dg1.datagrid('getSelections');//选中要编辑的行if(selectedRows.length!=1){$.messager.alert("系统提示","请选择一条要编辑的数据!");return;}var row=selectedRows[0];$("#dlg1").dialog("open").dialog("setTitle","编辑年级信息");$("#fm1").form("load",row);}function saveEditData(){var selectedRows=dg1.datagrid('getSelections');if(selectedRows.length!=1){return;}var row=selectedRows[0];$.ajax({type:'put',                       //put方法进行修改url:'api/class/'+row.idcls+'/'+$("#clsnum1").val(),success:function(result){if(result.errorMsg){$.messager.alert("系统提示",result.errorMsg);return;}else{$.messager.alert("系统提示","保存成功");$("#fm1").form("clear");$(" #dlg1").dialog("close");dg1.datagrid("reload");}}});}

在restful中直接接受表单数据,这里不再赘述。由于删除行为,后台没有写多条记录同时删除,所以我就写了一个for函数,代码如下:

function deleteData(){var selectedRows=dg1.datagrid('getSelections');if(selectedRows.length==0){$.messager.alert("系统提示","请选择要删除的数据!");return;}var strIds=[];for(var i=0;i<selectedRows.length;i++){strIds.push(selectedRows[i].idcls);}$.messager.confirm("系统提示","您确认要删掉这<font color=red>"+selectedRows.length+"</font>条数据吗?",function(r){ if(r){     for(var i=0;i<strIds.length;i++){var ids=strIds[i];$.ajax({url:'api/class/id='+ids,type:'delete',dataType:'json',success:function(result){dg1.datagrid("reload");},    error: function (msg) {     alert(msg); } });     };     dg1.datagrid('unselectAll'); }});}
查询功能最好实现,没有遇到任何问题:

function searchData(){url="api/class/key="+ $("#searchs").val(),dg1.datagrid('load',url);}
欢迎大家指正


1 0
原创粉丝点击