HTML 5

<select>, <textarea> : 여러 줄 데이터 보여주기

mukom 2022. 10. 17. 18:16

1. <select> 태그 : 드롭 다운

 

<select> 태그는 기본적으로 하나를 선택한다는 점에서 radio 과 비슷하다.

 

가장 큰 차이점은 radio 는 선택지가 많아질수록 페이지에서 공간 차지를 그만큼 많이 하게 되지만,

select 태그는 한 줄에서 드롭다운을 통해 공간 차지를 덜하게 된다는 점이다.

    <select name="select">
        <option>내용 1</option>
        <option>내용 2</option>
        <option>내용 3</option>
    </select>

기본적으로 하나만 선택이 가능하지만 multiple 속성을 추가하면 다중 선택이 가능해진다.

또한 multiple 속성을 추가하면 size 속성을 함께 사용할 수 있는데,

드롭 다운 메뉴의 선택지를 한 번에 몇 개 보일 것인가를 조정할 수 있다.

    <select name="select" multiple size="4">
        <option>내용 1</option>
        <option>내용 2</option>
        <option>내용 3</option>
        <option>내용 4</option>
        <option>내용 5</option>
        <option>내용 6</option>
    </select>

📌 다중 선택

연속된 선택지를 여러 개 선택하기 위해서는 [shift] 키를 누르면서 선택하면 되고,

연속되지 않았을 경우에는 [ctrl] 키를 누르면서 선택하면 된다.

 

<option> 태그에는 value 속성으로 서버에 넘어갈 값을 넣을 수 있는데, 

따로 작성하지 않으면 <option> 태그에 적어놓은 내용이 넘어간다.

 

selected 속성을 추가하면 default 로 특정한 값이 먼저 선택되어 보인다.

    <select name="select" multiple size="4">
        <option value="내용">내용 1</option>
        <option>내용 2</option>
        <option>내용 3</option>
        <option>내용 4</option>
        <option selected>내용 5</option>
        <option>내용 6</option>
    </select>

 

2. <optgroup> 태그 : 드롭 다운 항목 그룹 묶기

 

드롭 다운 내의 항목을 그룹화 할 때 사용 가능한 태그가 optgroup 이다.

            <select id="class">
                <optgroup label="공과대학">
                    <option value="archi" label="건축공학과">건축공학과</option>
                    <option value="mechanic">기계공학과</option>
                    <option value="indust">산업공학과</option>
                    <option value="elec">전기전자공학과</option>
                    <option value="computer" selected>컴퓨터공학과</option>
                    <option value="chemical">화학공학과</option>
            </optgroup>
            <optgroup label="인문대학">
                <option value="history">사학과</option>
                <option value="lang">어문학부</option>
                <option value="philo">철학</option>
            </optgroup>
            </select>

그룹화하게 될 경우 optgroup 태그는 선택할 수 없고 상대적으로 굵은 글씨로 나타난다.

그룹화를 통해 가독성이 좋아 보일 수 있으나, 그 선택지가 많아질수록 길이가 지나치게 길어질 수 있기 때문에 

select 태그로 분리하는 것이 좋다.

 

 

3. <textarea> 태그 : 여러 줄 입력 가능한 텍스트 영역

 

한 번에 여러 줄을 입력 가능한 textarea 태그로 글 상자를 만들 수 있는데,

cols 속성으로 상자의 너비 영역을 지정할 수 있고, rows 속성으로 세로 길이를 줄 단위 지정할 수 있다.

<textarea name="textarea" cols="60" rows="5" placeholder="이곳에 입력해 주세요."></textarea>

또는 css 영역에서도 글 상자 크기를 제어할 수 있다.

    <style>
        textarea {
            width: 500px;
            height: 40px;
        }
    </style>

	<textarea name="textarea" placeholder="이곳에 입력해 주세요."></textarea>

📌 textarea 사용 시 주의할 사항

textarea 의 오른쪽 귀퉁이에 삼각형 영역이 보이는데 이를 통해 사용자가 마음대로 영역을 변경할 수 있게 된다.

이를 막기 위해서는 css 에서 resize:none; 을 주면 된다.

    <style>
        textarea {
            width: 500px;
            height: 40px;
            resize: none;
        }
    </style>

	<textarea name="textarea" placeholder="이곳에 입력해 주세요."></textarea>