首先在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結合操作數據了