티스토리 뷰

1. html


<form name="checkTest">

<table>

<tr>

<td><input type="checkbox" name="checkall" onclick="javascript:CheckAll()"></th>    //이 체크박스를 통해서 전체 선택 해제가 된다

<td>카테고리  </td>

<td>카테고리  </td>

<td>카테고리  </td>

<td>카테고리  </td>

<td>등록 날짜 </td>

</tr>

<%

for(int i=0; i< test.length; i++){

%>

<tr>

<td><input type="checkbox" id="del_id" name="del_unit[]" value="<%=value>"></td> //이 체크박스가 for문에 의해서 여러개 생성

<td><%= value%> </td>

<td><%= value%> </td>

<td><%= value%> </td>

<td><%= value%> </td>

<td><%= value%> </td>

</tr>

<%

}

%>

</table>

</form>



2. script

- 모두 체크 및 해제

var check = false;

function CheckAll(){

var chk = document.getElementsByName("del_unit[]");

if(check == false){

check = true;

for(var i=0; i<chk.length;i++){                                                                    

chk[i].checked = true;     //모두 체크

}

}else{

check = false;

for(var i=0; i<chk.length;i++){                                                                    

chk[i].checked = false;     //모두 해제

}

}

}


- 체크된 값만 가져오기 

(결과값은 'value1', 'value2', 'value3', 'value4' 의 형태로 query에서 where  구문의 in 조건에 바로 들어갈수 있도록 출력된다.)

[ex] delete from SampleTable where code in ('value1', 'value2', 'value3', 'value4' );


function selectDelRow() {

var chk = document.getElementsByName("del_unit[]"); // 체크박스객체를 담는다

var len = chk.length;    //체크박스의 전체 개수

var checkRow = '';      //체크된 체크박스의 value를 담기위한 변수

var checkCnt = 0;        //체크된 체크박스의 개수

var checkLast = '';      //체크된 체크박스 중 마지막 체크박스의 인덱스를 담기위한 변수

var rowid = '';             //체크된 체크박스의 모든 value 값을 담는다

var cnt = 0;                 


for(var i=0; i<len; i++){

if(chk[i].checked == true){

checkCnt++;        //체크된 체크박스의 개수

checkLast = i;     //체크된 체크박스의 인덱스

}


for(var i=0; i<len; i++){

if(chk[i].checked == true){  //체크가 되어있는 값 구분

checkRow = chk[i].value;

           

if(checkCnt == 1){                            //체크된 체크박스의 개수가 한 개 일때,

rowid += "'"+checkRow+"'";        //'value'의 형태 (뒤에 ,(콤마)가 붙지않게)

}else{                                            //체크된 체크박스의 개수가 여러 개 일때,

if(i == checkLast){                     //체크된 체크박스 중 마지막 체크박스일 때,

rowid += "'"+checkRow+"'";  //'value'의 형태 (뒤에 ,(콤마)가 붙지않게)

}else{

rowid += "'"+checkRow+"',";  //'value',의 형태 (뒤에 ,(콤마)가 붙게)         

}

}

cnt++;

checkRow = '';    //checkRow초기화.

}


alert(rowid);    //'value1', 'value2', 'value3' 의 형태로 출력된다.

}