将页面的对象(一个对象+一个list)封装成josn对象传入控制层
来源:互联网 发布:红猫网络加速器 编辑:程序博客网 时间:2024/05/13 05:30
因为有需求需要做一个多条件的类似签到的推荐人功能,当后台设置了用户推荐满多少人时,赠送相应的积分或者优惠券,可以自己增加或者删除定义的条件,条件为:推荐满__人 赠送__积分 是否赠送优惠券 具体优惠券的下拉框 如下:
因为这里的条件可以自己增加或者删除 所以使用的list 而是否开启推荐人设置,推荐人说明这些则是固定的内容,所以这些内容在另外一个对象中,这里主要说明list
我是使用循环遍历的方式来完成的 具体代码如下
$("#send").click(function(){
daycounts=[];//人数
points=[];//积分
cids=[];//优惠券
isecoupons=[];//是否赠送优惠券
sumarr=[];//总集合,用来封装人数,积分优惠券这些条件的
var pointcountFormat=parseInt(points);
var value=$("#person input[type='text']").each(function(){//遍历人数
daycounts.push($(this).val());
});
var value=$("#point input[type='text']").each(function(){//遍历积分
points.push($(this).val());
});
var value=$("#isEcoupon select").each(function(){//遍历优惠券的id
isecoupons.push($(this).val());
});
var value=$("#context select").each(function(){//遍历下拉框选择项
cids.push($(this).val());
});
for(var i=0;i<daycounts.length;i++){//最后遍历条件的总长度,依次把第i个元素放入最大的数组中
var daycount=daycounts[i];
var point=points[i];
var cid=cids[i];
var isecoupon=isecoupons[i];
var nd={"daycount":daycount,"pointcount":point,"cid":cid,"isecoupon":isecoupon};
sumarr.push(nd);
}
//var statu=$("#yfje-singleselect").val();//这部分是另外一个对象的属性 所以下面的json是一个对象signm+一个List集合sdlist
var statu=$('input[name="state"]:checked').val();
var bzdemo = $('#bzdemo').val();
var id=$("#id").val();
var param = {"ssstatu" : statu,"bzdemo":bzdemo,"rtype":"2","id":id};
var data=ajaxJson("saveRefereeoption",{"signm":param,"sdlist":sumarr}, "POST");
if(data.statu){
$.alert({
title: '提示',
content: '保存设置成功',
confirm: function(){
}
}
);
}else{
$.alert({
title: '提示',
content: '保存失败!',
confirm: function(){
}
});
}
});
用了几个数组来装数据 然后判断条件的个数先将每个条件都放在各自的数组里,然后遍历数组的长度,在依次每个数组中的第i个元素都装在一个总的数组里面,而后台的封装是使用@requestBody SignRModel 来接收的 具体接收的对象里面是一个对象+一个LIST 如下图:因为当时在设计数据库结构的时候就是一个主表signm对象加从表signd,属于一对多的关系 需求是推荐满多少人,赠送多少积分,是否赠送优惠券等条件用户可以自己定义
的多个条件,所以前端jquery使用遍历这种方式,json的list也是使用的数组来封装的,因为以前都是封装单个对象,这次的需求条件比较灵活,而自己想了很久,就只想到了这种方法,如果大家有更好的方法也请大家能发表下看法 小弟不胜感激。
1 0
- 将页面的对象(一个对象+一个list)封装成josn对象传入控制层
- 将传入的对象转换成一个字节数组
- 将一个List转成json对象返回到前台页面
- retrofit 如何传入一个对象
- 将一个list对象数组按照指定的规则排序
- 将一个字符串对象数组转化为List<对象>
- ibatis传入list对象
- 将一个对象定位到页面的右下角
- struts用对象封装传入的参数
- 浅谈封装一个对象的方法
- 用一个中介对象来封装一系列的对象交互
- dataTable将每一行封装一个实体对象
- 将ajax请求封装为一个对象(原生js)
- 判断一个对象是否为list对象
- 将同一个list对象中具有相同属性的对象放入到一个新的list中
- 将一个对象集合按照对象的某个字段排序
- 如何从页面传一个list集合对象到后台
- jdbc中如何返回一个封装任意类对象的list
- C/C++可变参数函数
- POJ-1703 Find them, Catch them
- usart 串口的发送-接收数据(正点改编)
- 一些巧妙的公式
- Java设计的单例模式(三种写法)
- 将页面的对象(一个对象+一个list)封装成josn对象传入控制层
- 论文中坐标系的记号
- POJ3255-Roadblocks
- HTML编码规范
- 生活杂谈
- 用消息队列和消息应用状态表来消除分布式事务
- 苹果核
- Markdown基本语法
- 机器学习算法基本概念梳理(一)