首先在IE下面 var mytable = document.getElementById("mytable").rows[1].cells[2].innerHTML;
这种方式 IE下面回报错;说没有.innerHTML的值;查资料发现是因为 .innerHTML和jQuery冲突
那只能用jQuery的方式获取单元的值了
1.先获取表格有几行数据和几列数据
var rows = document.getElementById("playlistTable").rows.length; //获得行数(包括thead)
var colums = document.getElementById("playlistTable").rows[0].cells.length; //获得列数
2.循环获取每个单元格的数据
获取方式是 var tdValue = $("#playlistTable tr:eq("+i+") td:eq(0)").html();//其中i是变量;要用那种方式“”
正常情况是var tdValue = $("#playlistTable tr:eq(0) td:eq(0)").html();
if(rows > 1){// 不要第一行的 thead)
for (var i = 1; i < rows; i++) { //每行
var PayObj = new Object();
PayObj.O_NBR = O_NBR;
var tdValue = $("#playlistTable tr:eq("+i+") td:eq(0)").html();
if(tdValue == "POS录入"){
PayObj.P_PAY_TYP = "3";
PayObj.P_POS = $("#playlistTable tr:eq("+i+") td:eq(5)").html();
PayObj.P_NBR = $("#playlistTable tr:eq("+i+") td:eq(4)").html();
PayObj.P_HL_ZH = $("#playlistTable tr:eq("+i+") td:eq(7)").html();
}
3.其他发现
就是在 js里面 也可以用对象的方式封装数据
(1) //初始化JSON数组;这是对象数组
var a = JSON.parse("{"title":"","data":[]}");
(2)初始化对象
var PayObj = new Object();
PayObj.O_NBR ="123456789";
PayObj.NAME ="吴水水";
(3)添加对象到数组
a.data.add(PayObj); // 有时候 js 报找不到 add()方法的错误;这是可以使用 push();
(4)格式化数据
///格式化数据
var obj=JSON.stringify(a);
(5)提交到后台
$.ajax({
url: "${applicationScope.rootpath}contract/savePayOffInforOfAll.action",
type: "post",
data: {'param':obj},
datatype: "json",
success: function (data) {
var obj = eval("(" + data + ")");
if (obj.success) {
mini.unmask();
alert(obj.message);
location.reload();
}
else {
mini.unmask();
alert(obj.message);
}
}
});
(6)后台解析数据
String param = request.getParameter("param");
JSONObject json=JSONObject.fromObject(param);
@SuppressWarnings("unchecked")
List<Map<String,String>> payList=json.getJSONArray("data");
下面就能正常的list结合操作数据了