Select

์ด๋ฒˆ ์‹œ๊ฐ„์—” ์…€๋ ‰ํŠธ๋ฐ•์Šค(์ฝค๋ณด๋ฐ•์Šค)๋ผ๊ณ  ํ•˜๋Š”๊ฑธ ๋งŒ๋“ค์–ด๋ณด์ž.

๋ณดํ†ต ์‡ผํ•‘ํ• ๋•Œ ์‚ฌ์ด์ฆˆ ์ปฌ๋Ÿฌ์˜ต์…˜ ๊ณ ๋ฅผ๋•Œ ๋งŽ์ด ๋ดค๋˜๊ฑฐ์ž„

js011.html์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์ž ( body ์•„๋ž˜script ์œ„์ชฝ)

<form class="container my-5 form-group">
  <p>์ƒํ’ˆ์„ ํƒ</p>
  <select class="form-select mt-2">
    <option>๋ชจ์ž</option>
    <option>์…”์ธ </option>
  </select>
</form>

์„ ํƒ์ง€๋Š” <option> ์œผ๋กœ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Œ

<select> ํƒœ๊ทธ๋„ ์„ ํƒ ์‹œ input, change ์ด๋ฒคํŠธ ๋ฐœ์ƒํ•จ.

<select> ํƒœ๊ทธ๋Š” .value๋กœ ์œ ์ €๊ฐ€ ์„ ํƒํ•œ ๊ฐ’์„ ๊ฐ€์ ธ ์˜ฌ ์ˆ˜ ์žˆ์Œ.

console.log(document.querySelectorAll('.form-select')[0].value);
console.log($('.form-select').val());

โœจ ๊ณผ์ œ. ์…”์ธ  ์„ ํƒํ•˜๋ฉด ์•„๋ž˜์— 95 , 100์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์…€๋ ‰ํŠธ ๋ฐ•์Šค ๋งŒ๋“ค๊ธฐ

<select class="form-select mt-2 hide">
    <option>95</option>
    <option>100</option>
</select>
main.css
.hide {
    display: none;
}
$('.form-select').eq(0).on('input', function (){
    var selected = $('.form-select').val();
    //var selected = this.value;
    //var selected = e.currentTarget;
    if(selected == '์…”์ธ '){
      $('.form-select').eq(1).removeClass('hide');
    }
})

โœจ ๊ณผ์ œ. ๋ชจ์ž๋ฅผ ์„ ํƒํ•˜๋ฉด ์‚ฌ์ด์ฆˆ select box๋ฅผ ๋‹ค์‹œ ์ˆจ๊ธฐ๊ธฐ

์…€๋ ‰ํŠธ ๋ฐ•์Šค๋ฅผ ์ด๋Ÿฐ์‹์œผ๋กœ ์ƒ์„ฑํ•˜๋ฉด ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๋‹ค.

95,100,105 ์‚ฌ์ด์ฆˆ๊นŒ์ง€ ์žˆ๋Š”๊ฒฝ์šฐ

S, M , L , XL ์‚ฌ์ด์ฆˆ ํ‘œ๊ธฐ๋œ๊ฒฝ์šฐ

์—ฌ์ž ์‚ฌ์ด์ฆˆ์˜ ๊ฒฝ์šฐ ๋“ฑ๋“ฑ

๊ทธ๋Ÿด๋•Œ๋งˆ๋‹ค select box๋ฅผ ๋งŒ๋“ค์–ด๋‘๊ณ  ํ•ด๋‹น ๋ฐ•์Šค๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ๋Š” ํž˜๋“ค๋‹ค.

์‹ค์ œ ์‡ผํ•‘๋ชฐ์ด๋ผ๋ฉด ํ•ด๋‹น ์ œํ’ˆ์˜ ์‚ฌ์ด์ฆˆ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์—์„œ ๊ฐ€์ ธ์™€์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ ๊ฐฏ์ˆ˜๋งŒํผ

<option> ํƒœ๊ทธ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋ฉด ๋ ๋“ฏ

๐Ÿ’ŽHTML ์ƒ์„ฑํ•˜๋Š” ๋ฒ•1

<div id="test">

</div>

<script>
  var pTag = document.createElement('p');
  pTag.innerHTML = "ํƒœ๊ทธ ์ƒ์„ฑ";
  document.querySelector('#test').appendChild(pTag);
</script>

๐Ÿ’ŽHTML ์ƒ์„ฑํ•˜๋Š” ๋ฒ•2

var pTag2 = '<p>ํƒœ๊ทธ ์ƒ์„ฑ2</p>';
document.querySelector('#test').insertAdjacentHTML("beforeend", pTag2);

์ด๋ ‡๊ฒŒ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

2๋ฒˆ์ด ์ฝ”๋“œ๊ฐ€ ์งง์•„์„œ ๋” ์ถ”์ฒœํ•จ.

์™œ ๊ณ„์† ๋‹ค ์„ค๋ช… ์•ˆ ํ•ด์ฃผ๊ณ  ๋ฌธ์„œ ์‚ฌ์ดํŠธ ์ฐพ์•„์„œ ๋ณด์—ฌ์ฃผ๋ƒ?

์ด๊ฑธ ๋‹ค ์™ธ์šฐ๊ณ  ๋‹ค๋‹ˆ๋Š” ๊ฐœ๋ฐœ์ž๋Š” ์—†๋‹ค.

ํ•„์š”ํ•  ๋•Œ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์ž„.

jQuery๋กœ ํ•˜๋ ค๋ฉด

var ๋ณ€์ˆ˜ = "ํ…Œ์ŠคํŠธ";
$('#test').append("<p>" + ๋ณ€์ˆ˜ + "</p>");

jQuery append๋Š” ์•ˆ์ชฝ ๋งจ ๋ฐ‘์— ์ถ”๊ฐ€ํ•˜๋ผ๋Š” ๋œป.

โœจ ๊ณผ์ œ. ์œ„์— ๋ฐฐ์šด๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ์ƒํ’ˆ์— ๋ชจ์ž ์…”์ธ  ์ด์™ธ์— ํ•˜์˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ํ•˜์˜๋ฅผ ์„ ํƒํ•˜๋ฉด 26, 28 ,30 ,32,34 ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ด๋ณด์ž.

  var pantsSize = [26,28,30,32,34];
  $('.form-select').eq(0).on('input', function (){
    var selected = $('.form-select').val();
    
    if(selected == '์…”์ธ '){
      $('.form-select').eq(1).removeClass('hide');
    }else if(selected == '๋ชจ์ž'){
      $('.form-select').eq(1).addClass('hide');
    }else if(selected == '๋ฐ”์ง€'){
      $('.form-select').eq(1).html('');
      for(let i=0; i<pantsSize.length; i++){
        $('.form-select').eq(1).append("<option>"+pantsSize[i] +"</option>")
      }
      $('.form-select').eq(1).removeClass('hide');
    }
  })

๐Ÿ”ฅ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ•œ๊ฐ€์ง€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•จ. ๋ฐ”์ง€๋ฅผ ์„ ํƒํ–ˆ์„ ๋•Œ ์˜ต์…˜์€ ์ž˜ ์ƒ์„ฑ ๋˜๋Š”๋ฐ

๋‹ค์‹œ ์…”์ธ ๋ฅผ ์„ ํƒํ•˜๋ฉด ์ด์ƒํ•จ.

ํ•ด๊ฒฐํ•ด์•ผ๊ฒ ์ง€?

Last updated