js选择checkbox值,组织成key-value形式,传值到后台
最近项目中遇到这样一个问题,接口定义需要传一个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形式,传值到后台的更多相关文章
- js获取checkbox值的方法
js获取checkbox值的方法.分享给大家供大家参考.具体实现方法如下:<html> <head> <meta http-equiv="Content-Typ ...
- JS选择checkbox
<script> window.onload = function () { //获取checkbox var ids1 = document.getElementsByName('Vot ...
- js 获取 checkbox[] 值
$("#btnAdd1").click(function () { console.log($("form").serialize()); var checkb ...
- jquery中选择checkbox拼接成字符串,然后到后台拆分取值
jquery中选择checkbox拼接成字符串,然后到后台拆分取值 js中的代码 $("#btn").click(function(){ var chenked=$("i ...
- 利用js取到下拉框中选择的值
现在的需求是:下拉框中要是选择加盟商让其继续选择学校,要是选择平台管理员则不需要选择学校.隐藏选择下拉列表. 选择枚举值: /// <summary> /// 平台角色 /// </ ...
- Js中获取对象的所有key值
假如现在有一个对象 var obj = { A:2 ,B:"Ray" ,C:true ,D:function(){} } 如果想遍历对象obj中的所有键值,一般是用以下方式 for ...
- asp.net在后台弹出confirm确认对话框并获取用户选择的值做出相应的操作
在asp项目中,这种情况是经常出现的,前段时间通过查找资料以及自己尝试,找到一种解决方案,但是不知是否有更好的方案,以后发现再进行记录. 一.思路 在本次项目中,在一个函数中需要让用户判断,并根据用户 ...
- [jQ/PHP]再谈使用JS数组储值的运用(提交PHP处理)
--------------------------------------------------------------------------------------------------- ...
- js操作checkbox(复选框)的方法总结
收集了一些用js代码操作checkbox复选框的代码,分享出来,供需要的朋友参考: <script> //复选框checkbox 处理方法 //搜集整理 www.jbxue.com fun ...
随机推荐
- [BZOJ3230] 相似字串 后缀数组+RMQ
3230: 相似子串 Time Limit: 20 Sec Memory Limit: 128 MB Description Input 输入第1行,包含3个整数N,Q.Q代表询问组数.第2行是字符 ...
- java10 新特性 详解
引言: 点击-->java9 新特性 详解 点击-->java8 新特性 详解 正题: 1.局部变量var 将前端思想var关键字引入java后段,自动检测所属于类型,一种情况除外,不能为 ...
- Integer to Roman - LeetCode
目录 题目链接 注意点 解法 小结 题目链接 Integer to Roman - LeetCode 注意点 考虑输入为0的情况 解法 解法一:从大到小考虑1000,900,500,400,100,9 ...
- 【spoj SUBLEX】 Lexicographical Substring Search
http://www.spoj.com/problems/SUBLEX/ (题目链接) 题意 给出一个字符串,询问其中字典序第K小的子串. Solution 后缀自动机例题. 构出后缀自动机以后,对每 ...
- C++运算符重载形式——成员函数or友元函数
运算符重载是C++多态的重要实现手段之一.通过运算符重载对运算符功能进行特殊定制,使其支持特定类型对象的运算,执行特定的功能,增强C++的扩展功能. 运算符重载的我们需要坚持四项基本原则: (1)不可 ...
- 【堆的启发式合并】【P5290】[十二省联考2019]春节十二响
Description 给定一棵 \(n\) 个节点的树,点有点权,将树的节点划分成多个集合,满足集合的并集是树的点集,最小化每个集合最大点权之和. Limitation \(1~\leq~n~\le ...
- GDB调试工具
1.运行代码的三种情况 a.运行时有逻辑问题 gdb a.out 设置断点 单行执行 b.运行代码没有退出 一直运行 结束不了 挂载调试 跟踪调试 -g ...
- 「Vue」自定义按键修饰符
vue.config.keyCodes.f2 = 113 设置完成后就可以绑定f2的按键操作@keyup.f2="add" 自带的有enter esc delete 空格 上下左右 ...
- JS动态更新微信浏览器中的title
问题: 最近在做一个微信中分享的宣传页,分不同的场景,切换不同的场景时需要设置不同的title,实现的方案很简单,当用户切换场景的时候,修改document对象的title属性,可是在实际测试中,io ...
- Nginx跳转Tomcat
conf配置: server { listen 80; server_name www.-------.com; server_name_i ...