๐Ÿ”Ž ๊ฐ„ํŽธํ•œ ์ž๋™ ์™„์„ฑ/HTML5๋งŒ์œผ๋กœ ์ž…๋ ฅ ์ œ์•ˆ | ๋ฐ์ดํ„ฐ ๋ชฉ๋ก ํƒœ๊ทธ

4275 ๋‹จ์–ด htmlcodenewbiewebdevbeginners
์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ์— ๋ฌด์–ธ๊ฐ€๋ฅผ ์ž…๋ ฅํ•  ๋•Œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์„ ์ œ์•ˆํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ์ฐพ๋Š” ์ธ๊ธฐ ๊ฒ€์ƒ‰ ์นดํ…Œ๊ณ ๋ฆฌ๋‚˜ ํƒœ๊ทธ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  API ๊ธฐ๋ฐ˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ๊ธฐ๋Šฅ์„ ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ datalist ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?


๋‚ด๊ฐ€ datalist ํƒœ๊ทธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žฅ๋‚œ์น˜๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ์—ฌ๊ธฐ์—์„œ ๋ณด๊ฑฐ๋‚˜ ๊ณ„์† ์Šคํฌ๋กคํ•˜์—ฌ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž‘๋™ ์ค‘์ธ ๋™์˜์ƒdatalist.




The HTML <datalist> element contains a set of <option> elements that represent the permissible or recommended options available to choose from within other controls. โ€” MDN



๋ฐ์ดํ„ฐ ๋ชฉ๋ก์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์•ˆ๋œ ์˜ต์…˜์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜, ์ž…๋ ฅํ•  ๋•Œ ์ œ์•ˆ์„ ๋ณด๊ฑฐ๋‚˜, ์ž์‹ ์˜ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜ ์ž…๋ ฅ๊ณผ ์„ ํƒ ํ•„๋“œ ์‚ฌ์ด์˜ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?
datalist ํƒœ๊ทธ๋ฅผ ์ผ๋ฐ˜ old<input type="text">์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐ„๋‹จํ•œ ์˜ˆ(์•„๋งˆ๋„ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ)๋กœ ๋ณด์—ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.datalist๋Š” ๋‚ด๋ถ€ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ์„ ํƒ ํƒœ๊ทธ์™€ ๊ฑฐ์˜ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

<input type="text" id="programming_language" list="languages"/>
<datalist id="languages">
 <option value="JavaScript"></option>
 <option value="Python"></option>
 <option value="Java"></option>
 <option value="HTML">Stop being a troll</option>
</datalist>


์—ฌ๊ธฐ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ค‘์š”ํ•œ ์ ์€ ์ž…๋ ฅ์„ ์ฑ„์šฐ๋Š” ๋ฐ ์‚ฌ์šฉํ•  datalist์˜ ID๋ฅผ ์ง€์ •ํ•˜๋Š” ์˜ต์…˜์œผ๋กœ ์ž…๋ ฅ์ด ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.



๋‚ด๋ถ€ ๋ฉ”๋ชจ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ ์ด ์˜ˆ์—์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ข‹์•„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ "Html"์„ ์ž…๋ ฅํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ์šฐ๋ฆฌ๋ฅผ ํŠธ๋กค๋งํ•˜์ง€ ๋ง๋ผ๊ณ  ํ•˜๋Š” ์ž‘์€ ๋ฉ”๋ชจ๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...
datalist์— ๋Œ€ํ•œ ๋˜ ๋‹ค๋ฅธ ์ •๋ง ๋ฉ‹์ง„ ์ ์€ ์—„๊ฒฉํ•˜๊ฒŒ ํ…์ŠคํŠธ ์œ ํ˜•์˜ ์ž…๋ ฅ์—๋งŒ ๊ตญํ•œ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ ์งœ ๋ฐ ์ƒ‰์ƒ ํƒœ๊ทธ๋ฅผ ํฌํ•จํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ํƒœ๊ทธ์— ๋ช‡ ๊ฐ€์ง€ ์ œ์•ˆ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ์ƒ‰์ƒ ์„ ํƒ๊ธฐ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์ž…๋‹ˆ๋‹ค.

<label for="pick_color">Pick a color</label>
<input type="color" id="pick_color" list="colors"/>
<datalist id="colors">
 <option value="#155AF0"></option>
 <option value="#F107BA"></option>
 <option value="#2B2B2B"></option>
</datalist>




์ €๋Š” ํ•ดํ‚น์„ ํ†ตํ•œ ํ•™์Šต์„ โ€‹โ€‹์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์ด CodePen์œผ๋กœ ๋ฐ”๋กœ ์ด๋™ํ•˜์—ฌ ์ง์ ‘ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.



์ž‘๋™ ์ค‘์ธ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก ํƒœ๊ทธ์˜ ์˜ˆ
์ด๊ฒƒ์„ ์–ธ์ œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ? ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด DOM ์š”์†Œ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฏ€๋กœ ์ œ์•ˆํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์—†์„ ๋•Œ ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค(์–ด์ฉŒ๋ฉด 50๊ฐœ ๋ฏธ๋งŒ์ด ์ €์—๊ฒŒ๋Š” ์ข‹์€ ๊ฒฝํ—˜ ๋ฒ•์น™์ž…๋‹ˆ๋‹ค).

๋‹ค์Œ ํŽธ๊นŒ์ง€ ์ฆ๊ฑฐ์šด ์ฝ”๋”ฉ ํ•˜์„ธ์š”! โค


๋‚  ๋”ฐ๋ผ์™€

๊ตฌ๋…ํ•˜๊ธฐ

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ