허당 레몬도리

//------------------------------------------select 제어 함수 모음
function select_all(ta,bool){ //모든 option 선택
if(!ta){ return; }
for(var i=0,m=ta.length;i<m;i++){
ta.options[i].selected=bool;
}
}
function select_del(ta){ //선택된 option 삭제(멀티 가능)
if(ta.selectedIndex == -1){ return; }
var ol
for(var i=ta.length-1,m=0;i>=m;i--){
if(ta.options[i].selected){
ol = ta.options[i];
ta.removeChild(ol);
}
}
ta.focus();
}
function select_copy(ta,ta2){ //선택된 option 복사(멀티 가능)
if(ta.selectedIndex == -1){ return; }
for(var i=0,m=ta.length;i<m;i++){
if(ta.options[i].selected){
var ol = ta.options[i];
var ta_ol=ol.cloneNode(true)
ta2.appendChild(ta_ol);
}
}
ta.focus();
}
function select_remove(ta,ta2){ //선택된 옵션 이동(멀티 가능)
select_copy(ta,ta2);
select_del(ta);
}
function select_updown_sel(ta,type){ //1,2,3,4(맨위,위,아래,맨아래); //선택된 option 순서 바꾸기(멀티 불가)
var sel_len = ta.length
var sel_idx = ta.selectedIndex;
if(sel_idx==-1){alert('대상을 선택해주세요.'); return;}
if(type<3 && sel_idx==0 ){ alert('대상이 맨 위에있습니다'); return; }
if(type>2 && sel_idx==(sel_len-1) ){ alert('대상이 맨 아래에있습니다'); return; }
switch(type){
case 1:
select_goto(ta,sel_idx,0);
break;
case 2:
select_goto(ta,sel_idx,sel_idx-1);
break;
case 3:
select_goto(ta,sel_idx,sel_idx+1);
break;
case 4:
select_goto(ta,sel_idx,(sel_len-1));
break;
}
}
function select_goto(ta,st,ed){
var ta_num =-1;
var ol,ta_ol;
if(st<0 || ed<0 || st >=ta.length || ed >=ta.length ) return;
if(st<ed){
while(st<ed){
ta_num=st+1;
ol = ta.options[st].cloneNode(true);
ta_ol = ta.options[ta_num].cloneNode(true);
ta.options[ta_num]=new Option(ol.innerHTML,ol.value,false,true);
ta.options[st]=new Option(ta_ol.innerHTML,ta_ol.value,false,false);
st=ta_num;
}
}else if(st>ed){
while(st>ed){
ta_num=st-1;
ol = ta.options[st].cloneNode(true);
ta_ol = ta.options[ta_num].cloneNode(true);
ta.options[ta_num]=new Option(ol.innerHTML,ol.value,false,true);
ta.options[st]=new Option(ta_ol.innerHTML,ta_ol.value,false,false);
st=ta_num;
}
}
}

출처 : http://maddog.tistory.com/trackback/67

profile

허당 레몬도리

@LemonDory

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!