如上图,我选择了三条记录,然后想批量提交他们,这个怎样和后台对应,后台用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);
}
});
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);
}
});
解决方案 »
- 谷歌浏览器 Chrome 怎么屏蔽 F5 刷新
- 高手来帮助~~~~~~~~~
- 请问一个静态写法的问题
- 百分求解:extjs支持将一个新的结构不同的表(或者一段html代码)插入原来的表中的某行的位置么?
- 大家有没有好用的web打印控件啊
- 关于childNodes.length的疑问
- 请教这个功能怎么实现?
- 紧急求救:select元素的innerHTML属性是不是有问题(一流的高手请进)?
- 用过fineuploader的帮忙看看感谢
- ExtJs 4.2 关于将Ext对象写入到新打开的浏览器窗口中,在线急等!!
- EXT -> sencha-touch -> Ext.tab.Panel问题
- $.getJSON不能获取远程服务器的数据?
先根据选中列封装出json对象,通过ajax方式提交到服务器端。基本思路很明确,alert(grid.length)弹出为1说明你获取选中数据行代码有问题,再看看那部分。
获取行问题已经解决,现在关键是批量提交数据。
如下代码,我定义了一个二维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);
}
});