js选择checkbox值,组织成key-value形式,传值到后台
2024-08-22 13:32:41
最近项目中遇到这样一个问题,接口定义需要传一个Map<String,String[]> params的参数,需要在jsp页面组织数据到后台操作,所以记下来以后难免还会用到。
以下是javascript代码:
var jsonData = new Array(); //定义一个用来作传递数据变量
var temp =[];//该变量是为了判断最后一次循环而定义
$("input[name='waybillNo']:checked").each(function(){ //遍历所有checkbox选中的值
temp.push($(this).val());//设置值到数组中
}); $("input[name='waybillNo']:checked").each(function(index,element){//遍历运单号
temp.length--; var waybillNos = new Array();
var carIds = new Array(); waybillNos.push($(this).val()); //添加运单号到waybillNos数组 $(this).parent().next().next().find("input[name='carIds']:checked").each(function(){//遍历车辆ID
carIds.push($(this).val());//添加车辆ID到carIds数组
}); if(temp.length !=0){
jsonData.push(waybillNos+":"+carIds+"|");//组织数据
}else{//最后一次循环
jsonData.push(waybillNos+":"+carIds);//组织数据
}
waybillNos = [];//清空数组,准备下一次循环
}); //发送ajax请求
$.ajax({
type: "post",
url: "${pageContext.request.contextPath}/waybill/auth/updateStatus.do",
data:"param="+jsonData,
dataType: "POST",
success: function(data){
if(data.success){
alert("操作成功!");
}else{
alert("操作失败!");
}
},
error: function(){
alert("系统异常,请联系管理员!");
}
});
后台用springMVC接受参数param,代码如下:
<span style="white-space:pre"> </span>/**
* 后台Java方法
* @author yunns
* @date 2015-8-12 下午2:44:35
* @version V1.0
*/
@RequestMapping("/auth/updateWaybillStatus.do")
@ResponseBody
public Map<String,Object> updateStatus(String param)throws Exception{
Map<String,Object> model = new HashMap<String, Object>();
Map<String,String[]> params = new HashMap<String, String[]>();
try {
String paramData = param.replace("|,", "|");//替换字符串
//组织数据
String[] s1 = paramData.split("\\|");
for (String s : s1) {
String[] s2 = s.split(":");
String[] carIds = s2[1].split(",");
params.put(s2[0], carIds);
}
waybillBaseService.confirmDriverWaybill(params, SecurityHelper.getAccountName());
this.setSuccessFlag(model);
} catch (Exception e) {
this.setFailFlag(model);
logger.error("修改状态出错!", e);
}
return model;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
最新文章
- 使用配置 API配置注入(Container stand-alone API)
- html5视屏背景注意事项。
- Scope 安装和使用
- IP地址(IPv4)/IPv6地址的正则表达式
- ubuntu linux 下wine的使用
- Hibernate常用增删改查方法
- __weak
- MVC4之ModelBinder-模型绑定
- schedule() 和 scheduleAtFixedRate() 的区别--转载
- C语言 处理文件
- sdaf
- OC中的单例设计模式及单例的宏抽取
- WeText项目的服务端
- hibernate--ID生成策略--XML
- thinkphp 单字母函数
- ajax+php(环境搭建+测试)
- python selenium 模块
- vue的环境安装(二)
- 如何使用油猴脚本不要vip就能观看各大视频网站如腾讯,爱奇艺等的vip视频
- AlwaysOn环境下的压缩Log文件方法