레이블이 동적테이블다루기인 게시물을 표시합니다. 모든 게시물 표시
레이블이 동적테이블다루기인 게시물을 표시합니다. 모든 게시물 표시

2010년 5월 9일 일요일

동적테이블 다루기 insertRow deleteRow

 

 

 

 

인터넷에 있는 소스가 동작을 안해서 TBODY를 빼고 document.getElementByID("tbl") 만을 이용해서

수정 하였습니다.

1. 각 라인별로 삭제 버튼으로 지우기

2. 체크 박스 선택해서 일괄로 지우기

3. 줄 추가 하기

 

 

<html>
<head>
<title>insertRow/deleteRow</title>
<meta http-equiv="Content-Type" content="text/html;charset=euc-kr">
<script language='javascript'>
<!--

function removeRow(r){
 var i=r.parentNode.parentNode.rowIndex;
 document.getElementById('tbl').deleteRow(i);
}

// delete Row
function delRow() {
 var objTable = document.getElementById("tbl");
 var lastRow = objTable.rows.length-1;

 var chkCnt = checkCount();
 if(chkCnt > 0) {
  if( confirm("Delete Selected Item?") ){
   for(var i = lastRow; i > 0; i--) {
    if(document.getElementsByTagName("TR")[i].cells[0].firstChild.checked) objTable.deleteRow(i);
  }
  }
 } else {
        alert("Please Select Delete Row.");
        return;
    }
}

function checkCount() {
 var objTable = document.getElementById("tbl");
 var lastRow = objTable.rows.length-1;
 var rtnCnt = 0;

 for(var i = lastRow; i > 0; i--)
 {
   if(document.getElementsByTagName("TR")[i].cells[0].firstChild.checked) rtnCnt++;
 }
 return rtnCnt;
}

function allCheck() {
 var objTable = document.getElementById("tbl");
 var lastRow = objTable.rows.length - 1;
 var rtnCnt = 0;
 for(var i = lastRow; i > 0; i--) {
  document.getElementsByTagName("TR")[i].cells[0].firstChild.checked = true;
 }
}

function checkExcute(obj) {
    if(obj.checked)
   allCheck();
    else
   allUnCheck();
}

function allUnCheck() {
 var objTable = document.getElementById("tbl");
 var lastRow = objTable.rows.length-1;
 var rtnCnt = 0;
 for(var i = lastRow; i > 0; i--) {
  document.getElementsByTagName("TR")[i].cells[0].firstChild.checked = false;
 }
}

function fInsertRow() {
  
   objTable = document.getElementById("tbl");
   var row = objTable.rows.length;
   objRow = document.createElement('TR');
   objCel1 = document.createElement('TD');
   objRow.appendChild(objCel1);
   objCel1.innerHTML="<input type='checkbox' name='chk' >";
   objCel1 = document.createElement('TD');
   objRow.appendChild(objCel1);
   objCel1.innerHTML="<input type='text' name='title' value='' size='20' maxlength='20'>";
   objCel1 = document.createElement('TD');
   objRow.appendChild(objCel1);
   objCel1.innerHTML="<input type='text' name='contents' value='' size='40' maxlength='40'>"; // i를 붙여서 독립된 row를 생성
   objCel1 = document.createElement('TD');
   objRow.appendChild(objCel1);
   objCel1.innerHTML="<input type='button' name=cmdDelete value='삭제' onClick='removeRow(this);'>";
   document.getElementById('tbl').children(0).appendChild(objRow); // 생성된 row를 적용한다.
 }

 //-->
</script>


</head>

<table id="tbl" border="1" cellspacing="0" cellpadding="0">
 <tr>
   <td><input type="checkbox" name="all_chk" onClick="checkExcute(this)"></td>
    <td>title</td>
    <td>contents</td>
    <td>삭제</td>
   </tr>
</table>

<a href='#' onClick="fInsertRow()">추가</a>
<a href='#' onClick="delRow()">삭제</a>

 

 

에버노트에서 원노트로 데이터 옮겨오기

에버노트를 무료로 이용하려면 한달에 업로드 할 수 있는 용량이 60M 밖에 되지 않습니다. 원노트도 에버노트만큼 기능이 개선되었고 무엇보다도 무료로 사용 할 수 있고 용량의 제약이 없어서 최근에는 업무 및 정보 수집 용도로 에버노트를 이용중입니다...