小记
工作笔记
前端部分
修改部分向弹窗传输查询的信息
$.ajax({
url:"<%=request.getContextPath()%>/subject?operateFlag=select&id=" + id,
type:"POST",
dataType:"json",
success:function(data){
$("#fm").form("load",data.subject);
$("#dlg").dialog('open');
}
})
淘到一篇讲event.target 和 event.currentTarget 的区别的博客:
https://www.cnblogs.com/yzhihao/p/9398917.ht
ml
event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素,只有被点击的那个目标元素的event.target才会等于event.currentTarget。
捕获:
冒泡:
清空form内容:
$("#fm").form('clear');
弹窗关闭或打开:
$("#dlg").dialog('open');
页面重载:
location.reload();
解决前端单击和双击事件冲突
再往下进行的时候发现,单击事件和双击事件会发生冲突,搜了一下如何解决,是需要加入延时即可解决
看这里:https://www.cnblogs.com/chengxuyuanzhilu/p/5071941.html
修改后的单击和双击事件的处理:
单击方法处理:
var that=event.currentTarget;
clearTimeout(timer);
//这里的timer是需要在js的外层定义的
timer = setTimeout(function() { //在单击事件中添加一个setTimeout()函数,设置单击事件触发的时间间隔
console.log(that);
var id=that.id;
//console.log(id);
if(id!=null&&id!=""){
$.ajax({
url:"<%=request.getContextPath()%>/subject?operateFlag=select&id=" + id,
type:"POST",
dataType:"json",
success:function(data){
$("#fm").form("load",data.subject);
$("#dlg").dialog('open');
}
})
}
}, 300);
双击方法处理:
var that=event.currentTarget;
clearTimeout(timer);
var id=that.id;
console.log("id:"+id);
$.ajax({
url:"<%=request.getContextPath()%>/subject?operateFlag=delete&id=" + id,
dataType:"json",
type:"post",
success:function(data){
location.reload();
}
})
搞定
分页
下面解决集中分析一下分页的处理
先从前端请求看起
传的参数是 page页、rows条数
接下来到Action中看一下数据处理
try {
String type = super.getRequest().getParameter("type");
String value = super.getRequest().getParameter("value");
dao.getList(po, pageList,value);
this.returnMap.put("status", "success");
this.returnMap.put("rows", pageList.getDataArray());
this.returnMap.put("total", pageList.getCount());
} catch (DataAccessException e) {
this.returnMap.put("message", "查询失败");
this.returnMap.put("status", "error");
}