select박스, textarea

2023. 10. 3. 20:01HTML CSS

반응형

<select>,<optgroup>,<option>태그

- 여러 옵션 중에서 선택하도록 하고 싶을 때 드롭다운 목록을 사용한다. 클릭했을 때 옵션들이 요소 아래쪽으로 펼쳐지는 목록이다. 

- <select>태그 안에 <option> 태그를 넣고 각 <option>태그의 value 속성을 이용해 서버로 넘겨주는 값을 지정한다.

- <select>태그의 속성은 size와 multiple 속성이 있다.

- size는 드롭다운 메뉴의 항목 개수를 지정한다. 3이면 3개 4이면 4개 이렇게 드롭다운 메뉴가 나오는데 크롬 브라우저의 경우 size 속성에 지정한 값보다 하나 더 많은 옵션을 표시한다. 예를들어 6은 7개 9는 10개이다.

- multiple 속성은 드롭다운 메뉴에서 Ctrl키를 누른 상태에서 여러개의 옵션을 선택할 수 있다.

- <option> 태그의 속성은 value와 selected 가 있다.

- <option>태그의 value는 옵션을 선택했을 때 서버로 넘겨질 값이다.

- <option> 태그의 selected는 화면이 처음에 안올 때 선택되어 있는 옵션이다.

- <optgroup> 태그는 옵션끼리 묶을 때 사용한다. 드롭다운 목록에서 목록들을 그룹으로 나누고 label 속성을 이용해 그룹의 제목을 붙여줄 수 있다.

<h2>SELECT 태그</h2>
<label for="number">숫자</label>
<select id="number" multiple>
	<optgroup label="숫자">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3" selected>3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
	</optgroup>
    <optgroup label="영어숫자">
        <option value="one">one</option>
        <option value="two">two</option>
        <option value="three">three</option>
        <option value="four">four</option>
        <option value="five">five</option>
        <option value="six">six</option>
	</optgroup>
</select>

SELECT 태그

- <datalist> 태그를 <select> 태그 대신에 사용하면 <select> 태그와 같이 드룹다운 리스트에서 옵션을 선택할 수 있고 선택을 하면 선택한 값을 input 태그에 자동으로 값이 입력된다. 자동으로 입력이 되려면 datalist 태그의 id와 자동으로 넣어질 input 태그의 list 속성 값이 같아야 한다.

<h2>datalist 태그</h2>
<input type="text" list="number1">
<datalist size="4" id="number1" multiple>
	<option value="1">1</option>
    <option value="2">2</option>
    <option value="3" selected>3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
</datalist>

datalist 태그

 

 

<textarea> 태그

- 직접 여러줄의 텍스트를 입력하고 싶을때 textarea 태그를 사용한다. 

- name 속성으로 다른 폼 요소와 구분하고 텍스트 영역의 이름을 지정한다.

- cols로 textarea 가로 너비를 몇글자로 할지 지정한다.

- rows는 세로 길이를 몇 줄로 할지 지정한다. 지정한 줄보다 개수가 많아지면 스크롤 막대가 생긴다.

<textarea name="testareaName" cols="80" rows="3" />