สอบถามเกี่ยวกับการใช้งาน DateTimePicker

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามเกี่ยวกับการใช้งาน DateTimePicker

สอบถามเกี่ยวกับการใช้งาน DateTimePicker

จากบทความ

https://www.ninenik.com/ปรับแต่ง_DateTimePicker_ให้รองรับ_ปี_พ.ศ._อย่างสมบูรณ์-576.html

เมื่อปรับให้แสดงปี พ.ศ. แล้ว มีวิธีการไหนที่จะกำหนดให้เลือกปฏิทินได้เฉพาะวันสุดท้ายของแต่ละเดือนไหมครับ ขอบคุณครับ



Hardalways 02-03-2023 15:46:49

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ลองกำหนดวันที่ที่อนุญาตให้เป็นวันสุดท้ายของเดือนที่เลือก แทรกประมาณนี้เข้าไป

onChangeMonth:function(ct,$i){
  var lastDay = new Date(ct.getYear(), ct.getMonth() +1, 0).getDate();
  this.setOptions({
	allowDateRe:lastDay.toString()
  });
}, 


ดูเพิ่มเติม คลิก


ninenik 03-03-2023
 ความคิดเห็นที่ 2

ขอบคุณสำหรับความช่วยเหลือครับผม :-)

และขอสอบถามเพิ่มเติมหน่อยครับ... ค่า maxdate ที่เคยกำหนดไว้ มันไม่สัมพันธ์กับโค้ดที่แทรกเข้าไปเพิ่ม

คือ ปัจจุบันกำหนดให้เลือกได้ถึงปี 2565 พอเอาโค้ดไปใส่ กลายเป็นว่าปี 2566 ก็เลือกวันสิ้นเดือนในแต่ละเดือนได้ด้วย

พอจะมีวิธีแก้ไขไหมครับ ขอบคุณครับ



hardalways 03-03-2023 16:39
 ความคิดเห็นที่ 3
น่าจะเป็นข้อจำกัดของตัวปลั๊กอิน ถ้าต้องการใช้อยู่ ก็อาจจะลองเป็นกำหนดปีสุดท้ายที่เลือกได้เข้าไปแทน
โดยไม่ต้องกำหนด  maxDate ใช้เป็น yearEnd จะใช้เป็นตัวแปร หรือกำหนดค่าไปเลยก็ได้ แล้วแต่จะประยุกต์

onShow:function(ct,$i){
  let lastDay = new Date(ct.getYear(), ct.getMonth() +1, 0).getDate();
  this.setOptions({
	yearEnd:2023,
	allowDateRe:lastDay.toString()
  });
},        
onChangeMonth:function(ct,$i){
  let lastDay = new Date(ct.getYear(), ct.getMonth() +1, 0).getDate();
  this.setOptions({
	yearEnd:2023,
	allowDateRe:lastDay.toString()
  });
},  


>>>  อัพเดท >>> 03-03-2023
------------------------------------------
หรือจะใช้เป็นวิธีการตรวจสอบแบบนี้แทนดู คือถ้าปีที่เลื่อนดูเกินปีที่กำหนด ก็ไม่สามารถเลือกวันที่ได้

onShow:function(ct,$i){
  let lastDay = new Date(ct.getYear(), ct.getMonth() +1, 0).getDate();
  let currentYear = new Date(ct).getFullYear();
  this.setOptions({
	allowDateRe:(currentYear<2024)?lastDay.toString():'\s'
  });
},        
onChangeMonth:function(ct,$i){
  let lastDay = new Date(ct.getYear(), ct.getMonth() +1, 0).getDate();
  let currentYear = new Date(ct).getFullYear();
  this.setOptions({
	allowDateRe:(currentYear<2024)?lastDay.toString():'\s'
  });
},   


ninenik 03-03-2023
 ความคิดเห็นที่ 4
ได้ลองทดสอบแล้ว สามารถใช้ได้ทั้ง 2 รูปแบบเลยครับ ขึ้นอยู่กับลักษณะงานที่จะเลือกใช้
ขอบคุณมาก ๆ เลยครับผม :-)


hardalways 04-03-2023 00:46
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ