본문 바로가기

Web/Javascript

최실장님이 만들어 달래서 -_- 이름하야 더블클릭 셀렉트 박스

<form name=reg method='post'>
<table>
<tr>
<td>
<select id='a' name=a size=10 style=width:200 multiple onDblClick='gor()'>
<option value='1'>탑뉴스</option>
<option value='2'>정치</option>
<option value='3'>사회</option>
<option value='4'>문화</option>
<option value='5'>경제</option>
<option value='6'>지역</option>
<option value='7'>스포츠</option>
<option value='8'>외신</option>
<option value='9'>사설</option>
<option value='10'>칼럼</option>
<option value='11'>호남풍수</option>
<option value='12'>알림</option>
<option value='13'>연예</option>
<option value='29'>인물돋보기</option>
<option value='30'>인터뷰</option>
<option value='31'>사고/알림</option>
<option value='32'>동영상뉴스</option>
<option value='33'>자연으로돌아가자</option>
<option value='34'>레저떠나자</option>
<option value='35'>호남의명저</option>
<option value='36'>경양지</option>
<option value='37'>안개선원</option>
</select>
</td>
<td>
<input type=button value=' > ' onclick=gor()><br><br>
<input type=button value=' < ' onclick=gol()>
</td>
<td>
<select id='b' name=b size=10 style=width:200 multiple onDblClick='gol()'>
    
</select>

</td>
</tr>
</table>
<input type=hidden name=res size=30>
<input type='submit'>
</form>

<script>
var str = new String("전체 섹션 보이기");
var nIndexB = 0;
var bState = true;
FirstData();

function FirstData()
{
    with(document.getElementById('b'))
    {
        // text, value 순서
        options[nIndexB++] = new Option(str);
    }
}

function FindItem(code, aValue)
{
    with(document.getElementById(code))
    {
        for(var i=0; i<length; i++)
        {        
            if(options[i].value == aValue) return false;
        }
    }

    return true;
}

function gor()
{
    with(document.getElementById('a'))
    {
        if(bState == true)
        {
            nIndexB = 0;
            bState = false;
        }

        var text = options[selectedIndex].text;
        var value = options[selectedIndex].value;

        if(FindItem('b', value))
        {
            document.getElementById('b').options[nIndexB++] = new Option(text, value);
        }
    }
}

function gol()
{    
    with(document.getElementById('b'))
    {        
        if(FindItem('b', ''))
        {
            options[selectedIndex] = null;
            nIndexB--;
        }

        if(nIndexB == 0)
        {
            FirstData();
            bState = true;
        }
    }
}
</script>