表格checkbox批量删除代码:
前端:
var selected = grid.getSelectionModel().getSelection();
var selTypes = [];
for(var i = 0; i < seleced.length; i++) {
selTypes.push(selected[i].data);
}
Ext.Ajax.request({
url :' ',
params:{
selTypes: JSON.stringify(selTypes)
},
success: function() {
Ext.Msg.alert('提示',‘操作成功’);
grid.getStore().remove(selected)
}
});
后台:
后台只要是处理前端传过来的Json数组字符串,注意JSONArray是net.sf.json.JSONArray,不是org.json包下的。
String selTypes = request.getParamer("selTypes");//selTypes是前台传递过来的参数
//方法1:使用原生JSON类解析json数组字符串
JSONArray jsonArray = JSONArray.fromObject(selTypes);
//JavaBean是你的实体类,字段和表格字段对应的
List<JavaBean> list = (List) JSONArray.toCollection(jsonArray, JavaBean.class);
//方法2:使用谷歌的Gson来解析json数组字符串
Gson gson = new Gson();
Type type = new TypeToken<List<JavaBean>>(){}.getType();
List<JavaBean> list = gson.fromJson(selTypes, type);
//然后调用bean的get方法获取值就可以了
//遍历List,把联合索引参数压入map,传递给后台处理
for(int i=0; i<list.size(); i++){
Map map = new HashMap();
String id = list.get(i).getId(); //假设是通过id,和name联合索引删除
String name = list.get(i).getName();
map.put("id", id);
map.put(”name“, name);
service.deleteSelected(map);
}