一、表单增加功能
- 获取要操作的表格。
- 开始增加行:增加的行的位置在表格的倒数第二行,下标:总行数-1。空行
- 获取表格行目前的最大下标
- 给新增加的行对象 newRow添加 id属性
- 往空行里面增加4个列
var myTable = document.getElementById("order");
function addRow(){
var rowIndex = myTable.rows.length-1;
var newRow = myTable.insertRow(rowIndex);
newRow.setAttribute("id",rowIndex);
var c0 = newRow.insertCell(0);
c0.innerHTML = "<input type='text'/>";
var c1 = newRow.insertCell(1);
c1.innerHTML = "<input type='text' style='width:30px'/>";
**加粗样式** var c2 = newRow.insertCell(2);
c2.innerHTML = "<input type='text' style='width:30px'/>";
var c3 = newRow.insertCell(3);
c3.innerHTML = "<input type='button' value='删除' οnclick=\"delRow("+newRow.id+")\"/> "+
"<input type='button' value='确定' οnclick=\"qd("+newRow.id+")\"/>";
}
二、表单删除功能
- 获取要操作的表格。
- 通过行id获取行对象。
- 获取行下标
- 开始删除行
function delRow(rid){
var myRow = document.getElementById(rid);
var rindex = myRow.rowIndex;
myTable.deleteRow(rindex);
}
三、表单修改功能
- 获取要操作的行,通过行id
- 获取单元格的内容并赋给一个文本框,最后将文本框赋给单元格。
- 修改按钮变为确定钮,修改按钮的 value属性值。操作的是第4列/单元格里面的最后一个子节点
- 再次调用确定方法
function update(rid){
var myRow = document.getElementById(rid);
var cs = myRow.cells;
var c0 = cs[0].innerHTML;
console.info(c0);
cs[0].innerHTML = "<input type='text' value="+c0+" />";
var c1 = cs[1].innerHTML;
cs[1].innerHTML = "<input type='text' style='width:30px' value="+c1+" />";
var c2 = cs[2].innerHTML;
cs[2].innerHTML = "<input type='text' style='width:30px' value="+c2+" />";
cs[3].lastChild.value="确定";
cs[3].lastChild.setAttribute("onclick","qd('"+rid+"')")
}
四、表单确定功能
- 获取要操作的行,通过行id
- 获取当前行的所有单元格,返回的是一个存储单元格的数组
- 获取当前三个单元格里面文本框的内容,并把文本框的内容赋给单元格数组
- 确定按钮变为修改按钮,修改按钮的 value属性值。操作的是第4单元格
- 当按钮变为修改的是时候,给修改按钮添加鼠标点击事件,并且调用修改方法
function qd(rid){
console.info("rid = "+rid);
var myRow = document.getElementById(rid);
var cs = myRow.cells;
var c0 = cs[0].firstChild.value;
cs[0].innerHTML = c0;
var c1 = cs[1].firstChild.value;
cs[1].innerHTML = c1;
var c2 = cs[2].firstChild.value;
cs[2].innerHTML = c2;
cs[3].lastChild.value="修改";
cs[3].lastChild.setAttribute("onclick","update('"+rid+"')")
}