//增加一行 //var count =0;//增加一列用来 计数 function addRow(){ //count++; var tab = document.getElementById('tab'); var firsttr = document.getElementsByTagName('tr')[0]; var childtd = firsttr.childNodes; var tr = document.createElement('tr'); var arrtd = new Array(); var arrinp = new Array(); for(var i =0;i<childtd.length;i++){ arrtd[i] = document.createElement('td'); arrinp[i] = document.createElement('input'); if(i==0){ arrinp[i].type = 'checkbox'; arrinp[i].name = 'selectbox'; }else if(i==1){ //arrinp[i] = document.createTextNode(count); arrinp[i] = document.createTextNode(''); } arrtd[i].appendChild(arrinp[i]);//思考为什么 input也要加上数组。 tr.appendChild(arrtd[i]); }
tab.appendChild(tr); newSort(); } //删除操作 function deleteRow(){ var parentTr = new Array();//先把被选中的行放在一个数组上 var box = document.getElementsByName('selectbox'); var tab = document.getElementById('tab'); for(var i = 0;i<box.length;i++){ if(box[i].checked==true){ var parent = box[i].parentNode; parentTr[i] = parent.parentNode;//如果直接这种为放在里面为什么不能完全删除??是因为反应不够吗? //tab.removeChild(parentTr); } } for(var i = 0;i<parentTr.length;i++){ //这样做才能把选中的全部删除 if(parentTr[i]){ //这边要先判断一下是否为空值,如果不为空才去移除,否者会报错。 tab.removeChild(parentTr[i]); } } newSort(); }
//如果执行删除的话则,重新进行排序 function newSort(){ var text = new Array(); var child_td = new Array(); var arr_tr = document.getElementsByTagName('tr'); for(var i = 1;i<arr_tr.length;i++){ child_td[i] = arr_tr[i].childNodes[1];//获得从第二行开始所有第二列的节点 if(child_td[i].childNodes[0]){ child_td[i].removeChild(child_td[i].childNodes[0]); } text[i] = document.createTextNode(i); child_td[i].appendChild(text[i]);
} } //全选操作 function allSelect(){ var box = document.getElementsByName('selectbox'); for(var i= 0;i<box.length;i++){ box[i].checked = true; } }
//全部取消选择 function cancelSelect(){ var box = document.getElementsByName('selectbox'); for(var i = 0;i<box.length;i++){ if(box[i].checked == true){ box[i].checked =false; } } } //事件注册函数 function catchEvent(eventobj,event,eventHandler){ if(eventobj.addEventListener){ eventobj.addEventListener(event,eventHandler,false); }else if(eventobj.attachEvent){ event = 'on'+event; eventobj.attachEvent(event,eventHandler); } }