Note/그밖에

jquery :: select box 간 option 이동

Delia :D 2012. 3. 20. 16:42


첨부된 파일을 참고하세요.
당연히 jquery 파일 인클루드는 필수!


var JSopt  =  {
 doOpt : function(_mode) {
  if(_mode == 'add') {  // >
    // sel_list : 왼쪽셀렉트박스 id
   $("#sel_list").find("option").each(function() {
    if(this.selected){
     // sel_list_sort : 오른쪽 셀렉트박스 id
     $("#sel_list_sort").append("<option value='" + this.value +"'>" + this.text +"</option>");
     $(this).remove();
    }
   });
  } else if (_mode == "addall") {   // >>
   $("#sel_list").find("option").each(function() {
    $("#sel_list_sort").append("<option value='" + this.value +"'>" + this.text +"</option>");
    $("#sel_list").empty();
   });
  } else if (_mode == "back") {   // <
   $("#sel_list_sort").find("option").each(function() {
    if(this.selected){
     $("#sel_list").append("<option value='" + this.value +"'>" + this.text +"</option>");
     $(this).remove();
    } else {
    }
   });
  } else if (_mode == "backall") {   // <<
   $("#sel_list_sort").find("option").each(function() {
    $("#sel_list").append("<option value='" + this.value +"'>" + this.text +"</option>");
    $("#sel_list_sort").empty();
   });
  } else if (_mode == "up") {  // ↑
   //선택된 option의 index 반환
   var index = $("#sel_list_sort option").index($("#sel_list_sort option:selected"));
   if(index > 0)
    $("#sel_list_sort option:eq("+(index-1)+")").before($("#sel_list_sort option:eq("+index+")"));
  } else if (_mode == "down") {  // ↓
   var index = $("#sel_list_sort option").index($("#sel_list_sort option:selected"));
   if(index > 0)
    $("#sel_list_sort option:eq("+(index+1)+")").after($("#sel_list_sort option:eq("+index+")"));
  }
 }
}



스샷 이미지 



두 셀렉트박스 간에 option들의 위치를 이동하도록 구현하였습니다.
 

'Note > 그밖에' 카테고리의 다른 글

Windows7 스티커 메모 백업  (0) 2012.04.13
EditPlus 컬러셋(테마) 변경  (2) 2012.04.04
java, jsp :: session  (0) 2012.03.16
jsp :: UTF-8 에서 한글 get 파라미터 처리  (1) 2012.03.16
asp :: DB Access Framework DBHelper  (0) 2012.03.02