最近项目中遇到这样一个问题,接口定义需要传一个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. 【uoj129】 NOI2015—寿司晚宴

    http://uoj.ac/problem/129 (题目链接) 题意 给出2~n这n-1个数,求选2个集合,使得从两集合中任意各选取1个数出来它们都互质.求方案数. Solution PoPoQQQ ...

  2. MySQL总结小妙招

    mysql5.7版本,免登陆修改管理员密码: vim /etc/my.cnf 加入skip-grant-tables,重启MySQL 终端输入 mysql ,直接登录MySQL数据库,然后use my ...

  3. 【费用流】【网络流24题】【P1251】 餐巾计划问题

    Description 一个餐厅在相继的 \(N\) 天里,每天需用的餐巾数不尽相同.假设第 \(i\) 天需要 \(r_i\)块餐巾.餐厅可以购买新的餐巾,每块餐巾的费用为 \(p\) 分;或者把旧 ...

  4. cocoaPods安装、更新第三方库

    pod install 换成 pod install --verbose --no-repo-update pod update 换成 pod update --verbose --no-repo-u ...

  5. hdu 6311 欧拉回路

    题意:求一个图(不一定联通)最小额外连接几条边,使得可以一笔画出来 大致做法 1.找出联通块 2.统计每一个连通块里面度数为奇数的点的个数, 有一个性质 一个图能够用一笔画出来,奇数点的个数不超过2个 ...

  6. Block的copy时机

    什么时候栈上的Block会复制到堆上呢? 1.调用Block的copy实例方法 2.Block作为函数返回值返回时 3.将Block赋值给附有__strong修饰符id类型的类或Block类型成员变量 ...

  7. HTTP协议(3):HTTP1.1与HTTP1.0的区别

    翻了下HTTP1.1的协议标准RFC2616,下面是看到的一些它跟HTTP1.0的差别. 1. Persistent Connection持久连接 在HTTP1.0中,每对Request/Respon ...

  8. HTTP协议(1)-------- 网络编程

    1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少. ...

  9. 基本UDP套接字编程

    概述 使用TCP编写的应用程序和使用UDP编写的应用程序之间存在一些本质差异,其原因在于这两个传输层之间的差别:UDP是无连接不可靠的数据报协议,非常不同于TCP提供的面向连接的可靠字节流.然而相比T ...

  10. poj 1284 Primitive Roots (原根)

    Primitive Roots http://poj.org/problem?id=1284 Time Limit: 1000MS   Memory Limit: 10000K       Descr ...