今天客户提了一个需求,在界面上添加一个查询条件A,和一个input框。要求当A作为查询条件时,文本框内显示查询出来的数据的总和。原本想的很简单,查询求和然后扔到前台就OK了,后来折腾了很久很久。直接说代码吧
首先通过使用一个判断方法来判断查询条件A是否为空,然后进入判断内
通过ajax去后台查询数据,然后用一个小循环把数据求和。存放到map中
然后出现问题了。js接收的时候,接收map会自动把map转换为json字符串。
这个时候就需要通过JSON.parse来把json字符串转换为json对象,然后获取对象的value传到前台。
上代码:这部分时候后台取值求和(公司代码拷不出来,手打的可能有瑕疵,请见谅)
Map<String ,Object> rs =new HashMap<String ,Objrct>();
List<CoreCash> list = CoreCashService.getAllCoreCash(entity);
int sum=0;
String sumNotioncal;
for(int i=0;i<list.size();i++{
sum+=Double.valueOf(list.get(i).getNotocal());
}
sumNotioncal = String.valueOf(sum);
rs.put("sumNotioncal",sumNotioncal);
outJSON(response,rs)
下面是JS部分,主要看下json转换吧,这是ajax拿到值之后:
success:function(data){
var obj = JSON.parse(data);
var value = obj.sumNotioncal;
$("#sumNotioncal").val(value)
}
主要就是json字符串转json对象
然后json对象取值
转字符串:var obj = JSON.parse(data)
json对象取值:var value = obj.key;