|  | 
	                
  
    | 
	 
        ช่วยดูโค้ดวันที่ให้หน่อยครับ ว่า ทำไมผมรันใน >>> IE9 <<<  มันมีปัญหา  แต่ ถ้ารันใน  >>> Chome <<<   มันเช็คได้ทำงานได้ปกติ     |  
    |  |  
 
              
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | หายกันหมดเลย.... Y_Y 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-15 18:58:48 | By :
                            pongyo |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | 1.แค่หลายคนและผมคนนึงที่ไม่เข้าใจเงื่อนไขของการทำปฏิทินแบบนี้ครับ....คงมีเหตุผลจำเป็น 2.เรื่องของเบราเซอร์อย่าไปไว้ใจไม่ว่าจะตัวไหน ต้องทำใจครับ
 3.ในความเป็นจริง คนที่ใช้ต้องเลือก วันที่ก่อน > เดือน > ปี ตามลำดับ คงไม่มีผู้ใช้มาใส่ใจเลือกเดือนก่อนแล้วให้วันมีเท่าจำนวนเดือนที่เลือก
 4.หาอะไรที่ง่ายต่อการใช้ดีกว่าครับ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-15 19:45:14 | By :
                            apisitp |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ผมก็อยากเปลี่ยนเป็น DatePicker นะครับ แต่ อ.เค้าต้องการให้ทำเป็นรูปแบบนี้ครับ และ อ.เค้าก็บอกต้องทำให้ได้ ยังไงรบกวนพี่ช่วยผมหน่อยได้ไหมครับ !!! 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-15 20:46:47 | By :
                            pongyo |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เป็น ego ของอาจารย์ครับ 
 อธิบายเพิ่มเติมหน่อยครับ ว่าปฏิทินนี้ทำงานอย่างไร
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-15 21:09:29 | By :
                            sakuraei |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | คือ พอเลือกListBoxเดือน จะต้องขึ้นจำนวนวันตามเดือนนั้นๆในListBoxของวันที่ เช่น ถ้าลงท้ายด้วย( "คม"  จะแสดง 1-31 )
 ถ้าลงท้ายด้วย( "ยน" จะแสดง 1-30)
 ถ้าเป็นเดือนกุมภาพันธ์จะขึ้นจำนวนวันเป็น 28 หรือ 29 ตามListBoxปี ที่เลือก
 
 และถ้าเลือกเกินวันที่ปัจจุบันหรือวันที่กำหนดไว้ ให้มันขึ้นแจ้งเตือน ประมาณนี้ครับ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-15 21:38:55 | By :
                            pongyo |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ไปหาเรื่องฐานข้อมูล ตำบล อำเภอ จังหวัด และ ลองศึกษาวิธีเรียกใช้ดูครับ...ประมาณว่า เลือก จ. จะแสดงอำเภอ เลือก อ. จะแสดง ตำบล....หลักการเดียวกัน.... อยากรู้ว่าท่านอาจารย์ทำได้มั้ยเนี่ยะ
 เหมือนอาจารย์ที่ทำงานจะสอน moodle ยังมาให้ผมช่วยติดตั้ง ช่วยแก้ php.ini ...  โครตเบื่อ...ไม่เป็นไม่ถนัดแต่อยากสอน (เรื่องส่วนตัว แฮ่ะๆ)
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-15 23:49:29 | By :
                            apisitp |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | เอาไปลองทุกๆบราวเซอร์ JQuery น่าจะผ่านครับ http://jsfiddle.net/NBzdH/ 
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> ช่วยดูโค้ดวันที่ให้หน่อยครับ ว่า ทำไมผมรันใน >>> IE9 <<< มันมีปัญหา แต่ ถ้ารันใน >>> Chome <<< มันเช็คได้ทำงานได้ปกติ</title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="Unidentifier">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
  <style type="text/css">
	.inline{
		display:inline-block;
		width:110px;
		text-align:center;
	}
  </style>
  <script type="text/javascript">
	function yearBox(){
		var now = new Date();
		var fullYear = now.getFullYear();
		var yearBox = $("<select id='year'></select>");
		for(var i=10; i>0; i--){			
			yearBox.append("<option value='"+fullYear+"'>"+fullYear+"</option>");
			fullYear--;
		}
		return yearBox;
	}
	function monthBox(){
		var monthBox = $("<select id='month'></select>");
		var monthNameTH = {1:"มกราคม",2:"กุมภาพันธ์" ,3:"มีนาคม",4:"เมษายน",5:"พฤษภาคม",6:"มิถุนายน",7:"กรกฏาคม",8:"สิงหาคม",9:"กันยายน",10:"ตุลาคม",11:"พฤศจิกายน",12:"ธันวาคม"};
		$.each(monthNameTH ,function(index,item){
			monthBox.append("<option value='"+index+"'>"+item+"</option>");			
		});
		return monthBox;
	}
	function dayBox(){
		var dayBox = $("<select id='day'></select>");
		for(var i=1; i<=31; i++)
			dayBox.append("<option value='"+i+"'>"+i+"</option>");
		return dayBox;
	}
	$(document).ready(function(){
		$("#day").append(new dayBox());		
		$("#year").append(new yearBox()).change(function(){
			$("#day").empty().append(new dayBox());
			var month = $("select#month option:selected").val();
			var monthName = $("select#month option:selected").text();
			var year = $("option:selected",this).val();
			var lastDayOfMonth = new Date(year, month, 0).getDate();
			alert('ปี'+year+' เดือน'+monthName+' มี '+lastDayOfMonth + 'วัน');
			$("select#day option").each(function(index,item){
				if(index>=lastDayOfMonth)					
					$(this).remove();
				
			});
		});
		$("#month").append(new monthBox())
		.change(function(){
			$("#day").empty().append(new dayBox());
			var month = $("option:selected",this).val();
			var monthName = $("option:selected",this).text();
			var year = $("select#year option:selected").val();
			var lastDayOfMonth = new Date(year, month, 0).getDate();
			alert('ปี'+year+' เดือน'+monthName+' มี '+lastDayOfMonth + 'วัน');
			$("select#day option").each(function(index,item){
				if(index>=lastDayOfMonth)					
					$(this).remove();
				
			});
		});
		
		
	});
  </script>
 </head>
 <body>
  <div class="inline" id="year"></div>
  <div class="inline" id="month"></div>
  <div class="inline" id="day"></div>
 </body>
</html>
 |  
              | 
 ประวัติการแก้ไข
 2013-02-16 10:03:35
 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-16 00:21:26 | By :
                            sakuraei |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | โปรเจคของผมทำเกี่ยวกับร้านขายหนังสือOnline ครับ วันที่กำหนดไว้ ในที่นี่ หมายถึง เช่นตอนลูกค้าจะแจ้งชำระเงิน ก็ต้องเช็คว่าวันที่โอนเงินห้ามเลือกย้อนหลังเกินวันที่สั่งซื้อสินค้า และ ห้ามเลือกเกินวันที่ปัจจุบัน ประมาณนี่น่ะครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-16 01:51:17 | By :
                            pongyo |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | แล้ววันที่สั่งซื้ออยู่ในรูปแบบไหนครับ $_SESSION , $_POST , $_GET และจะส่งมาให้โค้ดชุดวันที่นี้อย่างไรครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-16 01:55:50 | By :
                            sakuraei |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ไม่ใช่โค้ดนี้ไม่ตรวจหรือไม่ทำงานนะครับ โค้ดนี้ทำงานถูกต้อง ไม่มี error ใดๆ ใน IE
 
 แต่เป็นตัว IE เองที่มีปัญหากับ css display สำหรับ OptionElement ครับ
 
 ต่อให้กำหนดเป็น display: none ก็จะยังแสดงผลอยู่
 
 ดังนั้นวิธีแก้ ต้องคิดวิธี ซ่อน/แสดง OptionElement เสียใหม่
 
 หากเราเปลี่ยน css ไม่ได้
 
 ลองเปลี่ยนมาเป็น "เอามันออกไป" และ "ใส่มันกลับเข้ามา" ดูดีมั้ยครับ
 
 
 <html>
<head>
	<title>TestDate</title>
</head>
<body>
	<select id="day">
		<option value="1">1</option>
		<option value="2">2</option>
		<option value="3">3</option>
		<option value="4">4</option>
		<option value="5">5</option>
		<option value="6">6</option>
		<option value="7">7</option>
		<option value="8">8</option>
		<option value="9">9</option>
		<option value="10">10</option>
		<option value="11">11</option>
		<option value="12">12</option>
		<option value="13">13</option>
		<option value="14">14</option>
		<option value="15">15</option>
		<option value="16">16</option>
		<option value="17">17</option>
		<option value="18">18</option>
		<option value="19">19</option>
		<option value="20">20</option>
		<option value="21">21</option>
		<option value="22">22</option>
		<option value="23">23</option>
		<option value="24">24</option>
		<option value="25">25</option>
		<option value="26">26</option>
		<option value="27">27</option>
		<option value="28">28</option>
		<option value="29">29</option>
		<option value="30">30</option>
		<option value="31">31</option>
	</select>
	<select id="month" >
		<option value="1">1</option>
		<option value="2">2</option>
		<option value="3">3</option>
		<option value="4">4</option>
		<option value="5">5</option>
		<option value="6">6</option>
		<option value="7">7</option>
		<option value="8">8</option>
		<option value="9">9</option>
		<option value="10">10</option>
		<option value="11">11</option>
		<option value="12">12</option>
	</select>
	<select id="year">
		<option value="2001">2001</option>
		<option value="2002">2002</option>
		<option value="2003">2003</option>
		<option value="2004">2004</option>
		<option value="2005">2005</option>
		<option value="2006">2006</option>
		<option value="2007">2007</option>
		<option value="2008">2008</option>
		<option value="2009">2009</option>
		<option value="2010">2010</option>
		<option value="2011">2011</option>
		<option value="2012">2012</option>
	</select>
	<script language="javascript" type="text/javascript">
		var month = document.getElementById("month");
		var day = document.getElementById("day");
		var year =document.getElementById("year");
		
		// ใช้เก็บ option วันที่ 29 - 31
		var options29to31 = {};
		
		function init() {
			for (var i = 29; i <= 31; i++) {
				// โดยใช้ Object เป็นตัวเข้าถึง
				options29to31[i] =  day.options[i - 1];
			}
		}
		init();
		
		calday = function(e){
			var ayear = year.options[year.selectedIndex].value;
			var addleap = ((ayear%4==0&&ayear%100!=0)||ayear%4==0)?1:0;
			var startCounter = (28 + addleap);
			var selected = month.options[month.selectedIndex].value;
			var numDays;
			if((selected<=7&&selected%2==0&&selected!=2)||(selected>7&&selected%2==1)){
				numDays = 30;
				//day.options[30].style.display= 'none';
			}else if(selected==2){
				numDays = 28 + addleap;
				//for(var i = startCounter;i<day.options.length;i++){
					//day.options[i].style.display= 'none';
				//}
			}else{
				numDays = 31;
				//for(var k = startCounter;k<day.options.length;k++){
					//day.options[k].style.display= '';
				//}
			}
			// เอา option วันที่ 29 - 31 ออกไป
			while (day.options.length > 28) {
				day.removeChild(day.options[28]);
			}
			// แล้วใส่กลับเข้าไปใหม่ตามจำนวนวันที่คำนวณได้
			for (var i = 29; i <= numDays; i++) {
				day.appendChild(options29to31[i]);
			}
		};
		var oldonchange = month.onchange;
		
		month.onchange= function(e){
			if(typeof oldonchange == 'function')oldonchange(e);
			calday(e);
		};
		
		year.onchange=calday;
	</script>
</body>
</html>
 |  
              | 
 ประวัติการแก้ไข
 2013-02-16 02:10:51
 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-16 02:09:28 | By :
                            cookiephp |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | อิอิ ความลับครับเมี้ยว 
 แต่อยู่กทม.นี่ล่ะฮะ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-16 02:30:32 | By :
                            cookiephp |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ขอบคุณมากครับ พี่ๆทุกท่าน ที่ช่วยดูช่วยแก้ไข โปรแกรมให้  ตอนนี้ผมลองนำมารันแก้ได้ละครับ ดีใจ!!! เดี่ยวผมไปส่ง อาจารย์ ดูก่อนว่าจะ ok หรือไม่ยังไง แล้วผมจะมาโพสบอกความคืบหน้าครับ ^^  
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2013-02-16 13:10:47 | By :
                            pongyo |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |