最近项目中遇到这样一个问题,接口定义需要传一个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;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

js选择checkbox值,组织成key-value形式,传值到后台的更多相关文章

  1. js获取checkbox值的方法

    js获取checkbox值的方法.分享给大家供大家参考.具体实现方法如下:<html> <head> <meta http-equiv="Content-Typ ...

  2. JS选择checkbox

    <script> window.onload = function () { //获取checkbox var ids1 = document.getElementsByName('Vot ...

  3. js 获取 checkbox[] 值

    $("#btnAdd1").click(function () { console.log($("form").serialize()); var checkb ...

  4. jquery中选择checkbox拼接成字符串,然后到后台拆分取值

    jquery中选择checkbox拼接成字符串,然后到后台拆分取值 js中的代码 $("#btn").click(function(){ var chenked=$("i ...

  5. 利用js取到下拉框中选择的值

    现在的需求是:下拉框中要是选择加盟商让其继续选择学校,要是选择平台管理员则不需要选择学校.隐藏选择下拉列表. 选择枚举值: /// <summary> /// 平台角色 /// </ ...

  6. Js中获取对象的所有key值

    假如现在有一个对象 var obj = { A:2 ,B:"Ray" ,C:true ,D:function(){} } 如果想遍历对象obj中的所有键值,一般是用以下方式 for ...

  7. asp.net在后台弹出confirm确认对话框并获取用户选择的值做出相应的操作

    在asp项目中,这种情况是经常出现的,前段时间通过查找资料以及自己尝试,找到一种解决方案,但是不知是否有更好的方案,以后发现再进行记录. 一.思路 在本次项目中,在一个函数中需要让用户判断,并根据用户 ...

  8. [jQ/PHP]再谈使用JS数组储值的运用(提交PHP处理)

    --------------------------------------------------------------------------------------------------- ...

  9. js操作checkbox(复选框)的方法总结

    收集了一些用js代码操作checkbox复选框的代码,分享出来,供需要的朋友参考: <script> //复选框checkbox 处理方法 //搜集整理 www.jbxue.com fun ...

随机推荐

  1. 【刷题】BZOJ 4636 蒟蒻的数列

    Description 蒟蒻DCrusher不仅喜欢玩扑克,还喜欢研究数列 题目描述 DCrusher有一个数列,初始值均为0,他进行N次操作,每次将数列[a,b)这个区间中所有比k小的数改为k,他想 ...

  2. Rotting Oranges - LeetCode

    目录 题目链接 注意点 解法 小结 题目链接 Rotting Oranges - LeetCode 注意点 解法 解法一:bfs.首先先统计所有新鲜的橘子数目fresh,如果fresh大于0则一直执行 ...

  3. P4051 [JSOI2007]字符加密 解题报告

    P4051 [JSOI2007]字符加密 题目描述 喜欢钻研问题的JS 同学,最近又迷上了对加密方法的思考.一天,他突然想出了一种他认为是终极的加密办法:把需要加密的信息排成一圈,显然,它们有很多种不 ...

  4. 【bzoj1396】 识别子串

    http://www.lydsy.com/JudgeOnline/problem.php?id=1396 (题目链接) 题意 问字符串S每一位的最短识别子串是多长(识别子串指包含这个字符且只出现在S中 ...

  5. 「CodePlus 2017 11 月赛」大吉大利,晚上吃鸡!(dij+bitset)

    从S出发跑dij,从T出发跑dij,顺便最短路计数. 令$F(x)$为$S$到$T$最短路经过$x$的方案数,显然这个是可以用$S$到$x$的方案数乘$T$到$x$的方案数来得到. 然后第一个条件就变 ...

  6. 解题:CF949D Curfew

    题面 整体的思路就是在均摊每个宿舍的人数,注意一个人可以跑好几次=.= 可以发现多的学生往中间跑一定能跑过宿管,所以只考虑学生们能不能及时跑到人不够的宿舍.对两边记录两个已经满足要求的宿舍,然后用前/ ...

  7. 解题:USACO10MAR Great Cow Gather

    题面 可以水水换根的,不过我是另一种做法:(按点权)找重心,事实上这是重心的一个性质 考虑换根的这个过程,当我们把点放在重心时,我们移动这个点有两种情况: 1.移动到最大的那个子树里 可以发现这个最大 ...

  8. [HAOI2011]防线修建

    题目描述 近来A国和B国的矛盾激化,为了预防不测,A国准备修建一条长长的防线,当然修建防线的话,肯定要把需要保护的城市修在防线内部了.可是A国上层现在还犹豫不决,到底该把哪些城市作为保护对象呢?又由于 ...

  9. mysqldump导出多个数据库

    mysqldump -uroot -p111111 -q -e -R -x --databases account game_s1 game_s2 ...... > D:\backup.sql ...

  10. PHP正则表达式基本语法

    本章主要学习正则表达式的基本语法: 正则表达式就是一个匹配的模式,正则表达式本身也就是一个字符串(有一些语法规则,特殊符号组成) 正则表达式这个字符串一定要在对应的函数中使用才有意义(分割,替换函数结 ...