วันนี้ เอา widget เสริม datepicker ใน jqueryui มาฝาก เป็นตัว widget ที่สร้างขึ้นมาใหม่
ปรับปรุงจาก plugin ตัวเดิมที่เคยแนะนำไปในบทความ
(บทความเนื้อหาเก่า)
สร้าง jquery plugin แสดง ปฏิทิน วัน เดือน พ.ศ. ภาษาไทย สำหรับ datepicker
https://www.ninenik.com/content.php?arti_id=469 via @ninenik
รูปประกอบ datepicker_thai widget
ดูตัวอย่างได้ท้ายบทความ
ก่อนอื่นให้ทำการดาวน์โหลดไฟล์ jqueryui_datepicker_thai_min.js
ได้ที่ลิ้งค๋ด้านล่างนี้
ดาวน์โหลด https://goo.gl/T8RJlE
ในไฟล์ดาวน์โหลดจะมีไฟล์ jqueryui_datepicker_thai_min.js และไฟล์ตัวอย่าง
demo_datepickerui.php อยู่ด้านใน
widget ตัวนี้ใช้ชื่อว่า datepicker_thai
จะมีการเรียกใช้งาน datepicker ของ jqueryui อีกที ดังนั้น การตั้งค่าก็จะยังคง
ใช้รูปแบบเดิม ซึ่สามารถดูรายละเอียดการตั้งค่าเพิ่มเติม ถ้าต้องการได้ที่
หรือถ้าต้องการดาวน์โหลด หรือสร้าง theme เอง ก็สามารถเข้าไปสร้าง
และโหลดลงมาใช้ได้ที่
สิ่งที่เพิ่มเข้ามาจะมีอยู่สองอย่างก็ การกำหนด
langTh และ yearTh
ตัวอย่างโค้ดการเรียกใช้งาน
$("#dateInput2").datepicker_thai({ dateFormat: 'dd/mm/yy', changeMonth: false, changeYear: true, numberOfMonths: 2, langTh:true, yearTh:true, });
ตัาอย่างโค้ดไฟล์ demo_datepickerui.php
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Document</title> <?php $jquery_ui_v="1.8.5"; $theme=array("0"=>"base","1"=>"black-tie","2"=>"blitzer","3"=>"cupertino","4"=>"dark-hive","5"=>"dot-luv", "6"=>"eggplant", "7"=>"excite-bike","8"=>"flick","9"=>"hot-sneaks","10"=>"humanity","11"=>"le-frog", "12"=>"mint-choc","13"=>"overcast","14"=>"pepper-grinder","15"=>"redmond","16"=>"smoothness", "17"=>"south-street","18"=>"start","19"=>"sunny","20"=>"swanky-purse","21"=>"trontastic","22"=>"ui-darkness", "23"=>"ui-lightness","24"=>"vader"); $jquery_ui_theme=$theme[14]; ?> <link type="text/css" rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/<?=$jquery_ui_v?>/themes/<?=$jquery_ui_theme?>/jquery-ui.css" /> <style type="text/css"> /* Overide css code กำหนดความกว้างของปฏิทินและอื่นๆ */ #ui-datepicker-div {display: none;} .ui-datepicker{ width:220px; font-family:tahoma; font-size:12px; text-align:center; } /* css กำหนดปุ่ม ถ้ามีแสดง*/ .ui-datepicker-trigger{ border: 1px solid #cccccc; background: #ececec !important; padding:3px; } </style> </head> <body> <br> <br> <br> <br> <br> <br> <div class="container" style="margin:auto;width:500px;"> http://api.jqueryui.com/datepicker<br> http://jqueryui.com/themeroller/<br> https://developers.google.com/speed/libraries/#jquery-ui<br> <br> <a href="demo_datepickerui.php">reload</a><br> <br> <input name="dateInput" type="text" id="dateInput" value="" readonly /> <input type="hidden" name="h_dateinput" value="" id="h_dateinput"> <br> <br> <input name="dateInput2" type="text" id="dateInput2" value="" readonly /> <br> <br> <div id="inline_date"></div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script src="jqueryui_datepicker_thai_min.js?1"></script> <script type="text/javascript"> $(function(){ $("#dateInput").datepicker_thai({ dateFormat: 'dd-mm-yy', showOn: 'button', buttonText: "เลือกวันที่", buttonImage: "", // ใส่ path รุป buttonImageOnly: false, currentText: "วันนี้", closeText: "ปิด", showButtonPanel: true, showOn: "both", altField:"#h_dateinput", altFormat: "yy-mm-dd", langTh:true, yearTh:true, numberOfMonths: 3, }); $("#dateInput2").datepicker_thai({ dateFormat: 'dd/mm/yy', changeMonth: false, changeYear: true, numberOfMonths: 2, langTh:true, yearTh:true, }); $("#inline_date").datepicker_thai({ dateFormat: 'dd-mm-yy', changeMonth: true, changeYear: true, langTh:true, yearTh: true, }); }); </script> </body> </html>