【JavaScript】JS写法随笔(二) JS动态生成表格
主要思路:通过Ajax请求后端接口并拿到结果list之后,然后通过DOM获取tbody并向tbody中添加行、单元格。
$("#calculate").click(function () {
var amount = $("#amount").val();
var apr = $("#apr").val();
var installments = $("#installments").val();
var startDate = $("#startDate").val();
var planInfoList = [];
$.ajax({
url: '/common/repayment_calculate',
type: 'POST', // 调用post方法类型
data: JSON.stringify({'amount': amount, 'apr': apr, 'installments': installments, 'startDate': startDate}), // 传参
async: false, // false-异步
beforeSend: function () {
$("#loading").attr({"hidden": false});
}, // beforeSend 调用前页面展示内容
success: function (result) {
// console.log(result);
planInfoList = result;
//先从DOM中获取表格元素对象
var tbody = document.querySelector('tbody');
//清空表格
tbody.innerHTML = '';
//通过返回试算数据,动态生成表格
//循环获取每一行数据
for (var i = 0; i < planInfoList.length; i++) {
//通过DOM创建行元素并添加到tbody中
var tr = document.createElement('tr');
tbody.appendChild(tr);
//通过DOM创建单元格元素并添加到tr中,并且通过innerHTML属性给单元格赋值
var td_installment = document.createElement('td');
tr.appendChild(td_installment);
td_installment.innerHTML = planInfoList[i]['installmentNumber'];
var td_prin = document.createElement('td');
tr.appendChild(td_prin);
td_prin.innerHTML = planInfoList[i]['chargeItemInfos'][0]['chargeAmount'];
var td_int = document.createElement('td');
tr.appendChild(td_int);
td_int.innerHTML = planInfoList[i]['chargeItemInfos'][1]['chargeAmount'];
var td_start_date = document.createElement('td');
tr.appendChild(td_start_date);
td_start_date.innerHTML = planInfoList[i]['installmentInterestStartDate'];
var td_due_date = document.createElement('td');
tr.appendChild(td_due_date);
td_due_date.innerHTML = planInfoList[i]['dueDate'];
}
} // success 异步调用成功后在页面填充内容
});
});
$('#calculateClean').click(function () {
var tbody = document.querySelector('tbody');
//清空表格
tbody.innerHTML = '';
});

浙公网安备 33010602011771号