[JS Library] jQuery UI - Datepicker

์†Œ์ด๋Žยท2023๋…„ 11์›” 10์ผ
0

JS Library

๋ชฉ๋ก ๋ณด๊ธฐ
2/3
post-thumbnail

๐Ÿ“ jQuery UI & Datepicker

  • jQuery UI๋Š” JavaScript์™€ jQuery ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์š”์†Œ ๋ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ œ๊ณตํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.
  • Datepicker๋Š” jQuery UI์— ํฌํ•จ๋œ ์œ„์ ฏ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.
  • Datepicker๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋‚ ์งœ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

๐Ÿ“ ์ ์šฉ ๋ฐฉ๋ฒ•

  • 1๏ธโƒฃ jQuery ์›๋ณธ์„ import ํ•œ๋‹ค.
  • 2๏ธโƒฃ datepicker์„ import ํ•œ๋‹ค. (jquery-ui.css, jquery-ui.js)
  • 3๏ธโƒฃ ์ ์šฉํ•  input ์š”์†Œ์— ๋Œ€ํ•ด datepicker()๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.

๐Ÿšฉ ์ฃผ์˜ํ•  ์ 

  • jQuery UI๋Š” jQuery๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ์œผ๋ฏ€๋กœ jQuery UI๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋จผ์ € jQuery(์›๋ณธ)๋ฅผ import ํ•ด์•ผ ํ•œ๋‹ค.
  • jQuery๋Š” ์ค‘๋ณต์œผ๋กœ import ํ•˜๋ฉด ์•ˆ ๋˜๋ฏ€๋กœ ์ด๋ฏธ ๋‹ค๋ฅธ ๊ณณ์—์„œ import ๋˜์–ด ์žˆ๋‹ค๋ฉด ํ•ด๋‹น import๋ฅผ ์ƒ๋žตํ•ด์•ผ ํ•œ๋‹ค.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DatePicker Example</title>
  
    <!-- 1๏ธโƒฃ jQuery CDN Link -->
	<script src="https://code.jquery.com/jquery-3.7.1.js" integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" crossorigin="anonymous"></script>

	<!-- 2๏ธโƒฃ datepicker -->
	<link rel="stylesheet" href="//code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css" />
	<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
    <script>
        $(document).ready(function() {
            // 3๏ธโƒฃ datepicker๋ฅผ ์ ์šฉํ•  input ์š”์†Œ์— ๋Œ€ํ•ด datepicker๋ฅผ ํ˜ธ์ถœ
            $("#input1").datepicker();
        });
    </script>
</head>
<body>
	<!-- ๋‚ ์งœ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” input ์š”์†Œ -->
	<input type="text" id="input1" placeholder="๋‚ ์งœ ์„ ํƒ">
</body>
</html>

๐Ÿ“ option ์ ์šฉ ๋ฐฉ๋ฒ•

  • ์ƒ์„ฑ ์‹œ ์˜ต์…˜ ์„ค์ •: $(์…€๋ ‰ํ„ฐ).datepicker(์˜ต์…˜ ๊ฐ์ฒด)
  • ์˜ต์…˜ ํ•˜๋‚˜๋งŒ ๋ณ€๊ฒฝ: $(์…€๋ ‰ํ„ฐ).datepicker("option", ์˜ต์…˜ ํ‚ค, ์˜ต์…˜ ๊ฐ’)
  • ์˜ต์…˜ ์ „์ฒด ์žฌ์„ค์ •: $(์…€๋ ‰ํ„ฐ).datepicker("option", ์˜ต์…˜ ๊ฐ์ฒด)
  • ๊ธฐ๋ณธ ์˜ต์…˜ ์ผ๊ด„ ์ ์šฉ: $.datepicker.setDefaults(์˜ต์…˜ ๊ฐ์ฒด)
// ์ƒ์„ฑ ์‹œ ์˜ต์…˜ ์„ค์ •
$("#datepicker").datepicker({
    dateFormat: "yy-mm-dd",
    minDate: new Date(),
    maxDate: "+1M"
});

// ์˜ต์…˜ ํ•˜๋‚˜๋งŒ ๋ณ€๊ฒฝ
$("#datepicker").datepicker("option", "minDate", new Date("2023-11-01"));

// ์˜ต์…˜ ์ „์ฒด ์žฌ์„ค์ •
$("#datepicker").datepicker("option", {
    dateFormat: "dd/mm/yy",
    minDate: "-1W"
});

// ๊ธฐ๋ณธ ์˜ต์…˜ ์ผ๊ด„ ์ ์šฉ
$.datepicker.setDefaults({
    dateFormat: "yy-mm-dd",
    minDate: new Date(),
    maxDate: "+1M"
});

References

๐Ÿ”— https://jqueryui.com/datepicker
๐Ÿ”— https://api.jqueryui.com/datepicker/#method-option

0๊ฐœ์˜ ๋Œ“๊ธ€