CodeGym /ํ–‰๋™ /Frontend SELF KO /๋‹ค์ค‘ ์„ ํƒ๊ณผ ๋ฆฌ์ŠคํŠธ

๋‹ค์ค‘ ์„ ํƒ๊ณผ ๋ฆฌ์ŠคํŠธ

Frontend SELF KO
๋ ˆ๋ฒจ 8 , ๋ ˆ์Šจ 5
์‚ฌ์šฉ ๊ฐ€๋Šฅ

5.1 <select> ์š”์†Œ

HTML ํผ์—์„œ <select>, <option> ๊ทธ๋ฆฌ๊ณ  <optgroup> ์š”์†Œ๋Š” ๋“œ๋กญ๋‹ค์šด ๋ฆฌ์ŠคํŠธ์™€ ๋‹ค์ค‘ ์„ ํƒ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋ผ. ๋•๋ถ„์— ์‚ฌ์šฉ์ž๊ฐ€ ๋ฏธ๋ฆฌ ์ •ํ•ด์ง„ ๊ฐ’์˜ ์„ธํŠธ์—์„œ ํ•˜๋‚˜ ๋˜๋Š” ์—ฌ๋Ÿฌ ์˜ต์…˜์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์–ด.

<select> ์š”์†Œ๋Š” ๋“œ๋กญ๋‹ค์šด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋ผ. ์ด ์š”์†Œ๋Š” ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ ์žˆ๋Š” ์˜ต์…˜๋“ค์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ <option> ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด.

์‚ฌ์šฉ ์˜ˆ์‹œ:

HTML
    
      <label for="country">๋‚˜๋ผ ์„ ํƒ:</label>
      <select id="country" name="country">
        <option value="us">United States</option>
        <option value="ca">Canada</option>
        <option value="mx">Mexico</option>
      </select>
    
  

<select>์˜ ์ฃผ์š” ์†์„ฑ

name ์†์„ฑ: ํผ ์š”์†Œ์˜ ์ด๋ฆ„์„ ์„ค์ •ํ•˜๋ฉฐ ์„ ํƒ๋œ ๊ฐ’๊ณผ ํ•จ๊ป˜ ์„œ๋ฒ„๋กœ ์ „์†ก๋ผ.

HTML
    
      <select name="country"></select>
    
  

id ์†์„ฑ: ์š”์†Œ์˜ ๊ณ ์œ  ์‹๋ณ„์ž๋ฅผ ์„ค์ •ํ•˜๋ฉฐ, <label> ์š”์†Œ์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ผ.

HTML
    
      <select id="country" name="country"></select>
    
  

multiple ์†์„ฑ: ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ ์˜ต์…˜์„ ๋™์‹œ์— ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด. ์™ธ๊ด€์ƒ์œผ๋กœ๋Š” ๋ฆฌ์ŠคํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ์ค„๋กœ ํ‘œ์‹œ๋ผ.

HTML
    
      <select name="fruits" id="fruits" multiple>
        <option value="apple">Apple</option>
        <option value="banana">Banana</option>
        <option value="cherry">Cherry</option>
      </select>
    
  

size ์†์„ฑ: ๋“œ๋กญ๋‹ค์šด ๋ฆฌ์ŠคํŠธ์—์„œ ๋ณด์ด๋Š” ์ค„ ์ˆ˜๋ฅผ ์„ค์ •ํ•ด. ์Šคํฌ๋กค์ด ๊ฐ€๋Šฅํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์œ ์šฉํ•ด.

HTML
    
      <select name="cities" size="4">
        <option value="ny">New York</option>
        <option value="la">Los Angeles</option>
        <option value="chicago">Houston</option>
      </select>
    
  

5.2 <option> ์š”์†Œ

<option> ์š”์†Œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ ์˜ต์…˜์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด <select> ์•ˆ์— ์‚ฌ์šฉ๋ผ.

์‚ฌ์šฉ ์˜ˆ์‹œ:

HTML
    
      <select name="color">
        <option value="red">Red</option>
        <option value="green">Green</option>
        <option value="blue">Blue</option>
      </select>
    
  

<option>์˜ ์ฃผ์š” ์†์„ฑ:

value ์†์„ฑ: ์ด ์˜ต์…˜ ์„ ํƒ ์‹œ ์„œ๋ฒ„๋กœ ์ „์†ก๋  ๊ฐ’์„ ์„ค์ •ํ•ด.

HTML
    
      <option value="red">Red</option>
    
  

selected ์†์„ฑ: ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ์˜ต์…˜์ด ์„ ํƒ๋˜์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•ด.

HTML
    
      <option value="green" selected>Green</option>
    
  

disabled ์†์„ฑ: ์ด ์˜ต์…˜์„ ์„ ํƒ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์–ด.

HTML
    
      <option value="blue" disabled>Blue</option>
    
  

5.3 <optgroup> ์š”์†Œ

<optgroup> ์š”์†Œ๋Š” <select> ๋‚ด์—์„œ ๊ด€๋ จ๋œ ์˜ต์…˜๋“ค์„ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ผ. ์ด ์š”์†Œ๋ฅผ ํ†ตํ•ด ๋“œ๋กญ๋‹ค์šด ๋ฆฌ์ŠคํŠธ๋ฅผ ๋” ์กฐ์ง์ ์ด๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์–ด.

์‚ฌ์šฉ ์˜ˆ์‹œ:

HTML
    
      <select name="car">
        <optgroup label="German Cars">
          <option value="mercedes">Mercedes</option>
          <option value="audi">Audi</option>
          <option value="bmw">BMW</option>
        </optgroup>
        <optgroup label="Japanese Cars">
          <option value="toyota">Toyota</option>
          <option value="honda">Honda</option>
          <option value="nissan">Nissan</option>
        </optgroup>
      </select>
    
  

<optgroup>์˜ ์ฃผ์š” ์†์„ฑ:

label ์†์„ฑ: ์˜ต์…˜ ๊ทธ๋ฃน์˜ ์ œ๋ชฉ์„ ์„ค์ •ํ•ด.

HTML
    
      <optgroup label="German Cars"></optgroup>
    
  

disabled ์†์„ฑ: ์ด ๊ทธ๋ฃน ๋‚ด์˜ ๋ชจ๋“  ์˜ต์…˜์„ ์„ ํƒ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์–ด.

HTML
    
      <select name="car">
        <optgroup label="German Cars">
          <option value="mercedes">Mercedes</option>
          <option value="audi">Audi</option>
          <option value="bmw">BMW</option>
        </optgroup>
        <optgroup label="Japanese Cars" disabled>
          <option value="toyota">Toyota</option>
          <option value="honda">Honda</option>
          <option value="nissan">Nissan</option>
        </optgroup>
      </select>
    
  

<select>, <option> ๋ฐ <optgroup> ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์œ ์šฉํ•œ ํŒ

  1. ๋…ผ๋ฆฌ์  ๊ทธ๋ฃนํ™”: <optgroup>์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ จ๋œ ์˜ต์…˜๋“ค์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•ด๋ด. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํผ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ๋Š๊ปด์งˆ ๊ฑฐ์•ผ.
  2. ๋‹ค์ค‘ ์„ ํƒ: ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ ์˜ต์…˜์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด, <select>์— multiple ์†์„ฑ์„ ์‚ฌ์šฉํ•ด๋ด.
  3. ์ ‘๊ทผ์„ฑ: ํผ ์š”์†Œ์˜ ์ ‘๊ทผ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด id ๋ฐ label ์†์„ฑ์„ ์‚ฌ์šฉํ•ด. ์˜ฌ๋ฐ”๋ฅธ label ์‚ฌ์šฉ์€ ๋ณด์กฐ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž๋ฅผ ํฌํ•จํ•ด ๋ชจ๋“  ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๊ฐœ์„ ์‹œํ‚ฌ ์ˆ˜ ์žˆ์–ด.
  4. ์Šคํƒ€์ผ๋ง: ๋“œ๋กญ๋‹ค์šด ๋ฆฌ์ŠคํŠธ์™€ ๋‹ค์ค‘ ์„ ํƒ ๋ฆฌ์ŠคํŠธ์˜ ์™ธ๊ด€์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด CSS๋ฅผ ์‚ฌ์šฉํ•ด. ์˜ˆ๋ฅผ ๋“ค์–ด:
CSS
    
      select {
        width: 200px;
        padding: 5px;
        border: 1px solid #ccc;
        border-radius: 4px;
      }
    
  
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION