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);
}
欢迎大家指正


GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐