ใช้ ปีพุทธศักราช ใน JQueryUI - DatePicker

Posted 11/01/2010 11:25 by nantcom

image

นอกเรื่องนิดนะครับวันนี้

หนึ่งในความเซ็งของผมเวลาทำงานกับปฏิทินก็คือ ประเทศไทยดูเหมือนว่าจะเป็นประเทศเดียวที่ใช้พุทธศักราช ทำให้ไม่มีใครยอมทำปฏิทินที่แสดงปีเป็นพุทธศักราชเลย และผมต้องมาตามแก้ให้ทุกที แม้กระทั่งตอน Silverlight ผมก็ไป Debate กับเขาอย่างดุเดือดที่ Office เขาเลยทีเดียว (งาน MVP Summit) แต่ก็ดูเหมือนจะไม่ได้ผล จนผมต้องมาทำเองอยู่ดี

พอหนีมา J-Query ก็ยังไม่พ้นครับ แม้ว่าจะมี Localization ให้ แต่วันที่ ก็เริ่มวันอาทิตย์ แล้วปีก็ยังแสดงเป็น 2010 อีก เซ็งจริตมาก

 image

ผมเลยต้องมาแก้อีกตามเคยนิดหน่อย เพื่อให้ได้แบบนี้

image

ซึ่งผมได้ทำการแก้สองจุดครับ จุดแรกคือไฟล์ ui.datepicker-th.js โดยเปลี่ยน FirstDay จาก 0 เป็น 1 เพื่อแสดงปฎิทินจากวันจันทร์แทนวันอาทิตย์

image

จุดที่สองคือในไฟล์ uiแล้วก็ +543 ตอน Format Date (Function formatDate)

 

กับตอน Display (function _generateHTML)

image

แล้วก็ ตอน Parse Date ก็เอาออกซะ 543 ใน function ParseDate (แน่นอนว่า Code นี้ใช้กับปีในอนาคตเกิน คศ 2500 และ พศ น้อยกว่า 2500 ไม่ได้นะครับ เหอๆ)

image

ถ้าต้องการนำไปใช้ เอา Code นี้ไปวางในไฟล์ jquery-ui-1.7.2.custom.min.js ได้เลยครับ อย่าลืมเอา datepicker ของเดิม ที่อยู่ในไฟล์นี้ ออกก่อนละ ถ้าอยากจะแก้อะไร เอา Source Code ได้จากที่นี่ครับ

เท่านั้นเองครับ :)

 

giffy2499 said:

Wow ๆ  แจ่มเลยคับ

แก้น้อยกว่า Caledar Extender ของ AjaxControlToolkit เลยคับ

เดียวลองเล่นมั่งสะแล้วคับ  อิ อิ

January 11, 2010 5:23 PM
 

nantcom said:

อิอิ ผมก็เซ็งเหมือนกัน อ้อ แล้วเพิ่งพบว่า เวลาใช้ ต้องใส่แบบนี้ครับ

$("datepickerTextbox").datepicker(

   onSelect : function() { } // ทำให้ไม่ตีกับ Validatopm

);

January 12, 2010 9:56 AM
(required)  
(optional)
(required)  
Add