Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > PHP > PHP Forum > สอบถามเกี่ยวกับการใช้ jquery datepicker ครับ คือมี startdate กับ enddate จะให้มันคำนวณกัน



 

สอบถามเกี่ยวกับการใช้ jquery datepicker ครับ คือมี startdate กับ enddate จะให้มันคำนวณกัน

 



Topic : 077738



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์




สอบถามเกี่ยวกับการใช้ jquery datepicker ครับ คือมี start_date กับ end_date จะให้มันคำนวณกัน

โดยที่สมมุติ start_date เริ่มวันที่ 30 เมษายน end_date เริ่มวันที่ 2 พฤษภาคม โดย วันที่ 1 เป็นวันหยุด

ถ้าคำนวณออกมา ก็จะได้เท่ากับ 2 วัน ต้องเขียนยังไงดีครับ ตอนนี้ผมทำได้แต่ disable วันที่ 1 พฤษาภาคม ห้ามเลือก แต่ถ้าเลือกคร่อม

มันยังเป็น 3 วันอยู่ครับ

Code (PHP)
<script type="text/javascript">
/* create an array of days which need to be disabled */
var disabledDays = ["5-1-2012","5-16-2012","2-27-2010"];

/* utility functions */
function nationalDays(start_date) {
	var m = start_date.getMonth(), d = start_date.getDate(), y = start_date.getFullYear();
	//console.log('Checking (raw): ' + m + '-' + d + '-' + y);
	for (i = 0; i < disabledDays.length; i++) {
		if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1 || new Date() > start_date) {
			//console.log('bad:  ' + (m+1) + '-' + d + '-' + y + ' / ' + disabledDays[i]);
			return [false];
		}
	}
	//console.log('good:  ' + (m+1) + '-' + d + '-' + y);
	return [true];
}
function noWeekendsOrHolidays(start_date) {
	var noWeekend = jQuery.datepicker.noWeekends(start_date);
	return noWeekend[0] ? nationalDays(start_date) : noWeekend;
}

/* utility functions */
function nationalDays(end_date) {
	var m = end_date.getMonth(), d = end_date.getDate(), y = end_date.getFullYear();
	//console.log('Checking (raw): ' + m + '-' + d + '-' + y);
	for (i = 0; i < disabledDays.length; i++) {
		if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1 || new Date() > end_date) {
			//console.log('bad:  ' + (m+1) + '-' + d + '-' + y + ' / ' + disabledDays[i]);
			return [false];
		}
	}
	//console.log('good:  ' + (m+1) + '-' + d + '-' + y);
	return [true];
}
function noWeekendsOrHolidays(end_date) {
	var noWeekend = jQuery.datepicker.noWeekends(end_date);
	return noWeekend[0] ? nationalDays(end_date) : noWeekend;
}

/* create datepicker */
jQuery(document).ready(function() {
	jQuery('#start_date').datepicker({
		//minDate: new Date(2010, 0, 1),
		//maxDate: new Date(2010, 5, 31),
		//dateFormat: 'DD, MM, d, yy',
		showOn: "button",
		buttonImage: "images/calendar.gif",
		buttonImageOnly: true,
		dateFormat: 'dd/mm/yy',
		constrainInput: true,
		beforeShowDay: noWeekendsOrHolidays
	});
$("#end_date").datepicker({
				showOn: "button",
				buttonImage: "images/calendar.gif",
				buttonImageOnly: true,
                //minDate: +3,
				constrainInput: true,
				beforeShowDay: noWeekendsOrHolidays,
				dateFormat: 'dd/mm/yy',
				onSelect: function (dateText, inst) {

                    var date2 = dateText;
                    var date1 = $("#start_date").val();
                    date1 = date1.split("/");
                    date2 = date2.split("/");


                    sDate = new Date(date1[2], date1[1] - 1, date1[0]);
                    eDate = new Date(date2[2], date2[1] - 1, date2[0]);

					
					alert(jQuery('#sDate').val());
					alert(jQuery('#eDate').val());

                    var daysDiff = Math.round(((eDate - sDate) / 86400000)+1); //totalday + 1//
					//var daysDiff = Math.round((eDate - sDate) / 86400000);
                    $("#sumDay").val(daysDiff.toString());

                    var result = parseInt($("#day_old").val()) + parseInt($("#sumDay").val());
                    $("#txtAns").val(result);
                }
            });
});

</script>




Tag : PHP, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-04-29 20:47:57 By : phongphisut View : 1822 Reply : 9
 

 

No. 1



โพสกระทู้ ( 5,146 )
บทความ ( 26 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


แนะนำให้ส่งค่าไปให้ PHP ทำการบวกลบให้ ครับ

ทีมันเกิดปัญหาคือยังไม่ได้ลบวันหยุด (ซึ่ง jquery มันก็ไม่ทราบว่าเป็นวันหยุดหรอกครับ)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-29 21:14:41 By : deawx
 


 

No. 2



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : deawx เมื่อวันที่ 2012-04-29 21:14:41
รายละเอียดของการตอบ ::

ถ้างั้นก็คือว่า ไม่ให้ทำการคำนวณวันโดยใช้ jquery เลยใช่ไหมครับ แต่เป็นการให้ jquery ส่งค่า ไปหน้า php

ซึ่งเป็นหน้าที่ทำการคำนวณ แล้วส่งค่ากลับมาแสดงที่หน้าหลักหรอครับ ถ้างั้นค่าจะคำนวณก็ต่อเมื่อเราเลือก end_date

แล้วจะเขียนให้มันส่งไปยังไงอะครับ แนะนำทีครับ




ประวัติการแก้ไข
2012-04-29 21:31:36
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-29 21:31:02 By : phongphisut
 

 

No. 3



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ตามเว็บมาสเตอร์เราไปเลยครับ

https://www.thaicreate.com/php/forum/077805.html#1
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-01 09:20:19 By : sakuraei
 


 

No. 4



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : sakuraei เมื่อวันที่ 2012-05-01 09:20:19
รายละเอียดของการตอบ ::

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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-01 22:49:35 By : phongphisut
 


 

No. 5



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ใช่ครับ มีปุ่มสักอันนึงเพื่อกดคำนวนวันที่ลา เมื่อกดปุ่มแล้วก็ใช้ jquery เพื่อส่งค่าไปให้ไฟล์ php คำนวน แล้วส่งกลับมาลง textbox ที่เป็นจำนวนวัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-01 23:01:08 By : sakuraei
 


 

No. 6



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : sakuraei เมื่อวันที่ 2012-05-01 23:01:08
รายละเอียดของการตอบ ::
ตรง ๆ เลยนะครับพี่ ผมทำไม่เป็นอะครับ มีตัวอย่างให้ดูไหมครับ - -a ขอแค่วิธีกดปุ่มนั้นแล้วส่งค่าไปอีกหน้าก็พอครับ

ตอนแรกที่ผมทำกะว่าจะทำเป็น 2form ใน page เดียวแต่มันไม่ได้อะครับ เลยไม่รู้ว่าจะให้ปุ่ม คำนวณค่ามันส่งค่าไปอีกหน้ายังไง



ประวัติการแก้ไข
2012-05-01 23:04:35
2012-05-01 23:05:36
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-01 23:03:48 By : phongphisut
 


 

No. 7



โพสกระทู้ ( 3,155 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


calc-holiday.php

Code (PHP)
<?php
 
	$strStartDate = $_POST["strStartDate"];
	$strEndDate = $_POST["strEndDate"];
	
	$intWorkDay = 0;
	$intHoliday = 0;
	$intTotalDay = ((strtotime($strEndDate) - strtotime($strStartDate))/  ( 60 * 60 * 24 )) + 1; 

	while (strtotime($strStartDate) <= strtotime($strEndDate)) {
		
		$DayOfWeek = date("w", strtotime($strStartDate));
		if($DayOfWeek == 0 or $DayOfWeek ==6)  // 0 = Sunday, 6 = Saturday;
		{
			$intHoliday++;

		}
		else
		{
			$intWorkDay++;
		
		}


		$strStartDate = date ("Y-m-d", strtotime("+1 day", strtotime($strStartDate)));
	}

	echo $intHoliday;
?>


ส่วนไฟล์นี้ตั้งชื่ออะไรก็ได้ครับ เป็นตัวหลัก ไปใส่ datepicker เอาเองน่ะครับ

Code (PHP)
<html>
<head>
<title>https://www.thaicreate.com/php/forum/077738.html</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
ตั้งแต่วันที่<input type="text" id="startDate" /><br />
ถึงแต่วันที่<input type="text" id="endDate" /><br />
<input type="button" id="vocation_calc" value="คำนวนวันลา" /><br />
<input type="text" id="total_day_leave" />

<script language="javascript">
$("#vocation_calc").click(function(){
	$.post("calc-holiday.php", { strStartDate:$("#startDate").val() , strEndDate:$("#endDate").val() } , 
	function(data){
		$("#total_day_leave").css("border-color","blue").val(data);
	});

});
</script>
</body>
</html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-01 23:28:20 By : sakuraei
 


 

No. 8



โพสกระทู้ ( 113 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : sakuraei เมื่อวันที่ 2012-05-01 23:28:20
รายละเอียดของการตอบ ::

ขอบพระคุณมาก ๆ เลยครับพี่ ใกล้จะถึงเส้นตายแล้ว T_T


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-02 00:13:56 By : phongphisut
 


 

No. 9



โพสกระทู้ ( 178 )
บทความ ( 0 )



สถานะออฟไลน์


$start_date=ตัวแบบ startdate;
$end_date=ตัวแบบ enddate;

$my = explode("-", $start_date);
$myyear = $my[0];
$mymonth = $my[1];
$myday = $my[2];

$my2 = explode("-", $end_date);
$myyear2 = $my2[0];
$mymonth2 = $my2[1];
$myday2 = $my2[2];

$start = gregoriantojd($mymonth,$myday,$myyear);
$end = gregoriantojd($mymonth2,$myday2,$myyear2);
$mycal = $end-$start;


แนวทาง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-02 15:42:46 By : keng_ds
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเกี่ยวกับการใช้ jquery datepicker ครับ คือมี startdate กับ enddate จะให้มันคำนวณกัน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่