๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Lect & Tip/bootstrap

๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋‚ ์งœ์„ ํƒ ํผ bootstrap 4.3 datepicker

by ๋‚ฏ์„ ๊ณต๊ฐ„2019 2019. 7. 25.

๋ชฉ์ฐจ

    โœˆ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 4.3 ๋‚ ์งœ ์„ ํƒ ํผ: ๊ฐ„ํŽธํ•œ ๋ฐ์ดํ„ฐ ํ”ผ์ปค ์‚ฌ์šฉํ•˜๊ธฐ

    ์„œ๋ก 

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์€ ์›น ๊ฐœ๋ฐœ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ›Œ๋ฅญํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๋“œ๋กญ๋‹ค์šด์ด๋‚˜ ๋ฐ์ดํ„ฐ ํ”ผ์ปค์™€ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‰ฝ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ํฐ ์žฅ์ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ณผ์ •์—์„œ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 4.3์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด์„œ ๋งˆ์ฃผํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํƒ€์ผ ๊ด€๋ จ ์ด์Šˆ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ๋‚ ์งœ ์„ ํƒ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ํ”ผ์ปค ๊ตฌํ˜„์— ์ค‘์ ์„ ๋‘˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 4.3 ์—…๊ทธ๋ ˆ์ด๋“œ์˜ ์Šคํƒ€์ผ ๋ณ€ํ™”

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 4.3์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ๊ธฐ์กด์˜ ์Šคํƒ€์ผ์ด ์กฐ๊ธˆ ํํŠธ๋Ÿฌ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ค‘์—์„œ๋„ ํŠนํžˆ ๋‚ ์งœ ์„ ํƒ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ํ”ผ์ปค์˜ ์Šคํƒ€์ผ์ด ์˜ˆ์ „๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”์šฑ์ด ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 4.3์—์„œ๋Š” ๊ธ€๋ฆฌํ”ผ์ฝ˜์„ ๋” ์ด์ƒ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ๊ธฐ์กด์˜ ์•„์ด์ฝ˜ ๋Œ€์‹ ์— ์ƒˆ๋กœ์šด ๋ฐฉ์‹์œผ๋กœ ์•„์ด์ฝ˜์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    ๋‚ ์งœ ์„ ํƒ์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ํ”ผ์ปค ๊ตฌํ˜„

    ์ด์ œ ๊ธฐ์กด์˜ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋ฐ์ดํ„ฐ ํ”ผ์ปค๋ฅผ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 4.3์—์„œ๋„ ์›ํ™œํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ด๋ฅผ ์œ„ํ•œ HTML ๋งˆํฌ์—… ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

    <li class="datePicker2">
      <span class="input-group date">
        <input type="text" class="form-control">
        <span class="input-group-append">
          <span class="input-group-text">
            <i class="datePicker-calendar"></i>
          </span>
        </span>
      </span>
    </li>

    ์ด์ „๊ณผ ๋‹ค๋ฅด๊ฒŒ input-group-addon ๋Œ€์‹  input-group-append๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์•„์ด์ฝ˜ ๋Œ€์‹ ์— ์ด๋ฏธ์ง€ ์บ˜๋ฆฐ๋”๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด <i> ํƒœ๊ทธ ๋‚ด๋ถ€์˜ ํด๋ž˜์Šค๋ฅผ ์กฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

    ์Šคํƒ€์ผ๋ง ๋ณ€๊ฒฝ์„ ์œ„ํ•œ CSS ์ฝ”๋“œ

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 4.3์—์„œ์˜ ์Šคํƒ€์ผ ๋ณ€ํ™”์— ๋งž๊ฒŒ ์•„๋ž˜์™€ ๊ฐ™์ด CSS ์ฝ”๋“œ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    /* datepicker */
    .input-group-addon, .input-group-text {
      border-left: 0 none;
      padding: 4px 9px 4px 9px;
    }
    
    .input-group-addon .glyphicon-calendar:before,
    .input-group-text .datePicker-calendar:before {
      content: " ";
      background: url(/assets/images/buttons/btn_calendar.png) center center no-repeat;
      width: 18px;
      height: 18px;
      display: block;
      overflow: hidden;
    }

    ์œ„์˜ ์ฝ”๋“œ์—์„œ ์ฃผ๋ชฉํ•  ๋ถ€๋ถ„์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ด๋ฏธ์ง€๋ฅผ ํ™œ์šฉํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์บ˜๋ฆฐ๋” ์•„์ด์ฝ˜์€ ๋” ์ด์ƒ ๊ธ€๋ฆฌํ”ผ์ฝ˜ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ์•„์ด์ฝ˜์„ ์ ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

    ๋งˆ๋ฌด๋ฆฌ

    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 4.3์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด์„œ ๊ธฐ์กด์˜ ์Šคํƒ€์ผ์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ํ”ผ์ปค ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์•„์ด์ฝ˜ ์ ์šฉ๊ณผ ์Šคํƒ€์ผ ์กฐ์ •์„ ํ†ตํ•ด ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์˜ ์—…๋ฐ์ดํŠธ์—๋„ ์›ํ™œํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ„ํ•ด ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 4.3์˜ ๊ธฐ๋Šฅ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•ด๋ณด์„ธ์š”.

    ์ฃผ์š” ๋‚ด์šฉ ์š”์•ฝ

    • ๋ถ€ํŠธ์ŠคํŠธ๋žฉ 4.3 ์—…๊ทธ๋ ˆ์ด๋“œ ์‹œ ์Šคํƒ€์ผ ๋ณ€ํ™” ์ฃผ์˜ ํ•„์š”
    • ๋‚ ์งœ ์„ ํƒ ๋ฐ์ดํ„ฐ ํ”ผ์ปค ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ์†Œ๊ฐœ
    • ์ƒˆ๋กœ์šด ์•„์ด์ฝ˜ ์ ์šฉ๊ณผ ์Šคํƒ€์ผ๋ง ๋ณ€๊ฒฝ์„ ์œ„ํ•œ CSS ์ฝ”๋“œ ์ œ์‹œ

     

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€