//增加一行 //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); } }