新的一年面试开始,某公司机试题。

ssh框架,前后台编码,页面提交时修改后台数据。本人js有些生疏了,当时没搞定就放弃了。有些不忿还是写出来吧。

要求效果(如图)




table表格样式



<table id="tb" >
<tr>
<td>id</td>
<td>名称</td>
<td>价格</td>
<td>数量</td>
<td>买入/卖出<span style="color: red">*输入整数和负数(-1,+1)</span></td>
</tr>
<c:forEach var="list" items="${list}" >
<tr>
<td>${list.id}</td>
<td>${list.name}</td>
<td>${list.money}</td>
<td>${list.amount}</td>
<td><input style="width:50px;"></td>
</tr>
</c:forEach>
</table>
<input onclick="submit()"value="提交" type="button"  style="width:50px;float: left;margin-left: 200px">

js代码(jquery.min.js)

function submit(){
update();
}
function update() {
var id,amount;
var info = [];
  var tb = document.getElementById("tb"); //根据id找到这个表格
  var rows = tb.rows; //取得这个table下的所有行
   for(var i=1;i<rows.length;i++){ //循环遍历所有的tr行
        id = (rows[i].cells[0]).innerHTML; //获取id
        cell = (rows[i].cells[4]).childNodes[0].value; //获取value值
        sum = (rows[i].cells[3]).innerHTML; 
        if(cell == ''){
        cell = 0; 
        }
    if(!isNaN(cell)){//验证数字
    var reg = new RegExp("^[0-9]*$");//验证负数 
    if(!reg.test(cell)){
    amount = parseInt(sum) + parseInt(cell);
    }else {
    amount = parseInt(sum) - parseInt(cell);
    }
    }else{
    return false;
    }
    var each = {id:id,
    amount:amount};
    info.push(each);
   }
        var params = {"info":JSON.stringify(info)};
$.ajax({
   type  : "POST",
   url   : "<%=path%>/background/update.do",
   data  : params,
   async : true,//异步
   error : function(request) {
   },
   success: function(data) {
   
    alert(data);
    location.reload();
   }
}); 
}

后台java代码

@RequestMapping(value = "update",  method = RequestMethod.POST)
@ResponseBody
    public String checkIdentity(HttpServletRequest request){
String info = request.getParameter("info");
JSONArray arrayInfo = JSONArray.fromObject(info);
if(arrayInfo.size() >0){
for(int i = 0; i < arrayInfo.size(); i++){
JSONObject jsonEach = arrayInfo.getJSONObject(i);
Good good = new Good();
good.setId(jsonEach.getInt("id"));
good.setAmount(jsonEach.getInt("amount"));

goodService.updategood(good);
}
}
return "成功";
    }

你可能感兴趣的:(java,js,编码)