如上图,我选择了三条记录,然后想批量提交他们,这个怎样和后台对应,后台用Java写的,前台代码为: 但alert(grid.length)弹出为1,不知为什么,应该为3才对啊。再往下是我的封装,这样写不知道怎样和后台对应去,请指点。
handler : function() {

var grid = $("#overView").datagrid("getSelections");

alert(grid.length);

var bat=new Array(grid.length);
for(var i=0;i<bat.length;i++){
bat[i]={
    "batClsBean.fapplyno" : grid[i].fapplyno,
"batClsBean.zhuanlimc" : grid[i].zhuanlimc,
"batClsBean.fabstract_use" : grid[i].fabstract_use,
"batClsBean.shenqingrxm" : grid[i].shenqingrxm,
"batClsBean.shenqingrdh" : grid[i].shenqingrdh,
"batClsBean.dailijqmc" : grid[i].dailijqmc,
"batClsBean.dierdlrdh" : grid[i].dierdlrdh,
"batClsBean.fipcsuggest" : grid[i].fipcsuggest,
"batClsBean.fipcconfirm" : grid[i].fipcconfirm,
"batClsBean.memo" : grid[i].memo
}
}
$.ajax( {
url : 'batClsAction_addClsConfirmData.action',
type : "POST",
cacheLength : 0,
data : bat,
asyc:false,
dataType : 'json',
success : function(data) {
$.messager.alert("操作", data.msg);
},
error : function(response) {
$.messager.alert(data.msg);
}
});

解决方案 »

  1.   

    java不太会。看楼主的代码应该是取选中数据行有问题,
    先根据选中列封装出json对象,通过ajax方式提交到服务器端。基本思路很明确,alert(grid.length)弹出为1说明你获取选中数据行代码有问题,再看看那部分。
      

  2.   


    获取行问题已经解决,现在关键是批量提交数据。
    如下代码,我定义了一个二维js数组,然后想把二维数组的数据提交到后台,后台用Java代码写的,不知道怎么接收。红色字体我那样传递对吗?请教一下
    var grid = $('#overView').datagrid('getSelections');

    var bat=new Array();
    for(var i=0;i<50;i++){ 
    bat[i]=new Array(9);
    }
             var j=0;
    for(var i=0;i<grid.length;i++){
    bat[j][0]=grid[i].fapplyno;
    bat[j][1]=grid[i].zhuanlimc;
    bat[j][2]=grid[i].fabstract_use;
    bat[j][3]=grid[i].shenqingrxm;
    bat[j][4]=grid[i].shenqingrdh;
    bat[j][5]=grid[i].dailijqmc;
    bat[j][6]=grid[i].dierdlrdh;
    bat[j][7]=$("#cipc"+i).val();
    bat[j][8]=$("#memo"+i).val();
    j++;
    }
    // alert(bat[3][8]);
    // alert(bat[3][2] );
    $.ajax( {
    url : 'batClsAction_addClsConfirmData.action',
    type : "POST",
    cacheLength : 0,
    data :"bat"=bat, asyc:false,
    dataType : 'json',
    success : function(data) {
    $.messager.alert("操作", data.msg);
    },
    error : function(response) {
    $.messager.alert(data.msg);
    }
    });
      

  3.   

    datagrid("getSelections")这个是否能获取到已选种的。
      

  4.   

    所有行的ID都有不相同,相同ID的它认为是一条数据,所以会出现length一直为1的情况。