标签:struts2 checkbox 多选删除 easyui
继上篇的jsp,json,EasyUI的结合顺利将数据库数据转换成json格式后再EasyUI完成展示(Retrieve)之后,接下来的实现增删改功能也很顺手了。
增的功能还是一样,只不过将原本自己写的form用ejui提供form代替而已。
删改功能需要拿到具体选择行的id。
<table id="dg" title="My Users" class="easyui-datagrid" style="width: 700px; height: 500px" url="list_ej" toolbar="#toolbar" rownumbers="true" fitColumns="true" > <thead> <tr> <!-- 这种写法也是可以的 <th field="id" width="50">id</th> <th field="name" width="50">name</th> <th field="password" width="50">password</th> --> <th field="ck" checkbox="true"></th> <th data-options="field:'id',width:'200px'">id</th> <th data-options="field:'name',width:'200px'">name</th> <th data-options="field:'password',width:'200px',align:'right'">password</th> </tr> </thead> </table>
var row = $('#dg').datagrid('getSelected'); var id = row.id;为什么我会知道呢?这种方法给怎么学呢?——看API。
多选的也是这样拿,只不过返回的是一个数组而已。拿到id后的话,接下来交给struts去处理就可以了。
好了,接下来这么多数据,如果一个一个删除时很蛋疼的,那么我们就需要复选框这种删除了。加个复选框有多简单呢,很简单。
<table id="dg" title="My Users" class="easyui-datagrid" style="width: 700px; height: 500px" url="list_ej" toolbar="#toolbar" rownumbers="true" fitColumns="true" singleSelect ="false" checkbox="true" > <thead> <tr> <!-- 这种写法也是可以的 <th field="id" width="50">id</th> <th field="name" width="50">name</th> <th field="password" width="50">password</th> --> <th field="ck" checkbox="true"></th> <th data-options="field:'id',width:'200px'">id</th> <th data-options="field:'name',width:'200px'">name</th> <th data-options="field:'password',width:'200px',align:'right'">password</th> </tr> </thead> </table>
接下来在js里面:
// 返回被选中的行 然后集成的其实是 对象数组 var row = $('#dg').datagrid('getSelections'); var i = 0; var string = ""; for(i;i<row.length;i++){ string += row[i].id; if(i < row.length-1){ string += ','; }else{ break; } }转成字符数组,最后传到action那边去,直接用:
st.executeUpdate("delete from user where userid in ("+id+")");
删除之后,DataGrid进行刷新就可以了。
if (row.length>0) { $.messager.confirm('Confirm', '确定删除用户?', function(r) { if (r) { $.post('deleteuser', { id : string }, function(result) { $('#dg').datagrid('reload'); }); } }); }
完整的js中delete函数的代码:
function destroyUser() { // 返回被选中的行 然后集成的其实是 对象数组 var row = $('#dg').datagrid('getSelections'); var i = 0; var string = ""; for(i;i<row.length;i++){ string += row[i].id; if(i < row.length-1){ string += ','; }else{ break; } } //alert(string); //var row = $('#dg').datagrid('getSelected'); //alert(row.id); if (row.length== 0) { alert("请选择要删除的行"); } if (row.length>0) { $.messager.confirm('Confirm', '确定删除用户?', function(r) { if (r) { $.post('deleteuser', { id : string }, function(result) { $('#dg').datagrid('reload'); }); } }); } }
使用Struts2和jQuery EasyUI实现简单CRUD系统(三)——复选框进行多选删除操作
标签:struts2 checkbox 多选删除 easyui
原文地址:http://blog.csdn.net/iaiti/article/details/41047483