遍历表格中的input转化为json数据传到后台解析实现一些操作

来源:互联网 发布:mpp 数据库 编辑:程序博客网 时间:2024/06/05 11:05

首先是页面,页面简单的画出来是这一种

我需要把用户Id和该用户的对应一行的值传到后台保存到数据库中。

               <table id="mainTable" style="width: 750px; overflow: scroll;" ><tr><td>用户名</td><c:forEach items="${subjectNumberList}" var="subjectName"><td colspan="2">${subjectName }</td></c:forEach></tr><c:forEach items="${testRecordList}" var="testRecord" varStatus="i"><tr><td>${userList[i.index].name }<input type="hidden" value="${userList[i.index].userId }"/></td><c:forEach items="${subjectScoreList}" var="subjectScore"><td>${subjectScore}</td><td><input type="text" style="width: 30px;"numberbox="true" data-options="required:true,validType:'length[1,4]'"onblur="validateScore(${subjectScore},this)"class="easyui-validatebox"/></td></c:forEach></tr></c:forEach></table>
这个是绘制表格的一些代码,我要遍历表格的每一行的input的值;然后写成json对象传到后台,在后台进行处理。

function saveCredits(){var dataJson="[";var userId = "";var subjectScore = "";$("#mainTable tr").each(function (index, domEle){// mainTable 下的truserId = "";subjectScore = "";if(index != 0){//遍历除去第一行的之外的所有input作为json数据传入后台$(domEle).find("input").each(function(index,data){if(index == 0){userId = $(data).val();}else{if($(data).val() != "" && $(data).val() != null){//如果没有输入的情况下传的值是0subjectScore += "," + $(data).val();}else{subjectScore += "," + 0;}}});if(!subjectScore.indexOf(",")){subjectScore = subjectScore.substring(1);}dataJson += "{"+"\"userId\":\""+userId+"\","+"\"subjectScore\":\""+subjectScore+"\"},";}});if (dataJson.lastIndexOf(",")) {dataJson = dataJson.substring(0,dataJson.length -1);dataJson += "]";}var testId = "${test.testId}";$.ajax({   type: "POST",   url: "action",   data:{   data : dataJson,   testId : testId   },   success: function(result){   if (result.success){                      $.messager.alert('成功提示',result.msg,"info",function(){                      window.opener.doAction("****","../controller/url");//实现页面成功之后的跳转                      window.close();                      });                  }else{                      $.messager.alert('错误提示', result.msg,"error");                  }   }});};
在后台接收处理json

public PageResult<Object> teacherStudyassessSave(@RequestParam(value = "data", required = true) String data,@RequestParam(value = "testId", required = true) String testId){PageResult<Object> pageResult = new PageResult<Object>(); /* 定义返回对象 */JSONArray jsonArray = JSONArray.fromObject(data); /* 定义解析json数组数据对象  */Map<String,String> userSubjectScoreMap = new HashMap<String, String>(); /* 定义Map集合 */List<String> userIdList = new ArrayList<String>(); /* 定义List集合 *//* * 循环json数组对象取出数据,放入Map中 * 循环json数组对象取出用户数据,放入List中 */for(int i = 0; i < jsonArray.size(); i++){userSubjectScoreMap.put(jsonArray.getJSONObject(i).getString("userId"),jsonArray.getJSONObject(i).getString("subjectScore"));userIdList.add(jsonArray.getJSONObject(i).getString("userId"));}}
后面就可以对传来的值进行一系列的处理和对数据库操作。

下次可能用到的:遍历表格,拼接json串,后台对json的处理;这个只是感觉json方便一点。

绑定bean的话就是照着传入参数,截取字符串就可以了。然后就可以对对象进行操作。


0 0
原创粉丝点击