자바스크립트로 테이블의 행 위아래 순서이동 > script

본문 바로가기
사이트 내 전체검색

script

자바스크립트로 테이블의 행 위아래 순서이동

페이지 정보

작성자 서방님 댓글 0건 조회 118회 작성일 07-02-21 09:11

본문

마땅한 제목을 쓰기가 애매해서요..
필요에 의해서 만들어는 봤는데 소스가 넘 길고 허접하지만..^^;
그래두 원하는 목적은 구현했다는..ㅋㅋ
** 다중셀렉트로 하면 되긴 하지만 디자인이 안이뻐서요..
** html로 예쁘게 꾸미면 이쁘지 않을까요?^^;;
- 참고로 제가 ie밖에 안써서요... 아마 다른 브라우져에선 안될듯 싶은데....

<script>
function change(t)
{
 var list = document.form.list;
 var key = document.form.listn;
 ln = new Array();
 list2 = list.value.split("(@)");
 if(!key.value) return false;

 // 위로
 if(t=="up") {

  for(i=0;i<list2.length;i++) {
   // 선택된 키를 만나면
   if(list2[i]==key.value&&i>0) {
    ln[i] = list2[i-1];
    ln[i-1] = list2[i];
   }
   else ln[i] = list2[i];
  }

 }
 // 아래로
 else if(t=="down") {

  for(i=0;i<list2.length;i++) {
   // 선택된 키를 만나면
   if(list2[i]==key.value&&(i+1<list2.length)) {
    ln[i] = list2[i+1];
    ln[i+1] = list2[i];
    i++;
   }
   else ln[i] = list2[i];
  }

 }
 // 제일위로
 else if(t=="top") {

  ln[0] = key.value;
  var ln_no = 1;
  for(i=0;i<list2.length;i++) { if(list2[i]!=key.value) { ln[ln_no] = list2[i]; ln_no++; } }

 }
 // 제일아래로
 else if(t=="bottom") {

  var ln_no = 0;
  for(i=0;i<list2.length;i++) {
   // 선택된 키가 아닐 경우
   if(list2[i]!=key.value) { ln[ln_no] = list2[i]; ln_no++; }
  }
  ln[list2.length-1] = key.value;

 }

 ln = ln.join("(@)");
 list.value = ln;

 get_result(key.value);
}

// 삭제
function row_del(no)
{
 var list = document.form.list;
 ln = new Array();
 list2 = list.value.split("(@)");
 // 삭제할 아이템
 var del_key = document.all[no].innerHTML;
 // 배열삭제
 var ln_no = 0;
 for(i=0;i<list2.length;i++) {
  // 선택된 키가 아닐 경우
  if(list2[i]!=del_key) { ln[ln_no] = list2[i]; ln_no++; }
 }
 ln = ln.join("(@)");
 list.value = ln;
 document.form.listn.value = "";
 get_result(del_key);
}

function choice_item(no)
{
 var skey = document.all[no].innerHTML;
 document.form.listn.value = skey;
 get_result(skey);
}

function get_result(skey)
{
 var list = document.form.list;
 var view_table;

 view_table = "<table border=1>";

 list2 = list.value.split("(@)");
 for(i=0;i<list2.length;i++) {
  if(list2[i]==skey) choice_bg = "#3399FF"; else choice_bg = "#CCFFFF";
  if(list2[i]) {
   if(list2[i]==skey) radio_value = "checked"; else radio_value = null;
   view_table += "<tr bgcolor="+choice_bg+" id=list_row_"+i+">"
   + "<td onclick="choice_item('list_td_"+i+"')"><input type=radio name=item_list onclick="choice_item('list_td_"+i+"')" "+radio_value+"></td>"
   + "<td onclick="choice_item('list_td_"+i+"')" id=list_td_"+i+">"+list2[i]+"</td>"
   + "<td><span style='cursor:hand;' onclick="row_del('list_td_"+i+"');">삭제</span></td>"
   + "</tr>rn";
  }
  else view_table += "<tr bgcolor="+choice_bg+"><td>곡을 선택하여 주세요.</td></tr>rn";
 }
 view_table += "</table>";
 document.all["view"].innerHTML = view_table;
}
</script>

<body onload="get_result()">
<form name="form">배열목록 :
<input name="list" size="100" type="text" value="나무(@)사랑(@)바람(@)별(@)꿈(@)하늘(@)호수(@)바다(@)강">
<br> 순서변경할 배열값 :
<input name="listn" size="20" type="text"> (테이블 선택해도 됨)
<input onclick="change('top')" type="button" value="맨위로">
<input onclick="change('up')" type="button" value="위로">
<input onclick="change('down')" type="button" value="아래로">
<input onclick="change('bottom')" type="button" value="맨아래로">
<br> <span id="view"></span>
</form>


출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=46515&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%B4%D9%C1%DF%BC%BF%B7%BA%C6%AE&sop=and

첨부파일

  • updown.html (3.4K) 0회 다운로드 | DATE : 2008-09-08 11:41:07

댓글목록

등록된 댓글이 없습니다.

Total 846건 45 페이지
게시물 검색

회원로그인

접속자집계

오늘
24
어제
302
최대
1,347
전체
155,085
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.