前台获取选中的id以,分割最后把数量也拼接上去传到后台
前台:
var count=$('#count').val();
var arrayrow = $('#ec_table').datagrid('getSelections');
var idstr='';
$(arrayrow).each(function(i,row){
idstr+=row.productId+',';
});
var params='params='+idstr+count;
$.post("updateProduc.action",params,function(a){
},'json');
后台:
//Integer.parseInt(str[str.length-1])是最后拼接的数量
String []str=params.split(",");
for (int i = 0; i < str.length-1; i++) {
int num=Integer.parseInt(str[i]);
product=productService.getFous(num); //根据id查询商品
product.setCount(Integer.parseInt(str[str.length-1]));
productService.update(product);
}
你每一行的商品对应一个商品ID,在单击“批量修改”按钮时,将所有选中的checkbox对应的商品的id传到后台。后台根据商品ID修改数量。
使用队列 一个一个更新 外层定义 count 在循环里 count++ 然后判断count是否等于你前台传过来的List.size(),等于批量修改成功,反之....
你这不是实现了吗,你目前这就是选择多条,被选中的都批量修改为55.
还是你想实现,选中多条,可分别修改这多条商品对应的库存数量,来实现批量操作??
你多选checkbox传到后台是数组吗??你有循环这个checkbox获得他们的key,然后再循环update对应key的商品库存吗??