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,027

HOME > PHP > PHP Forum > ผมมีปัญหา ที่อยากรบกวนเพื่อนๆ มากเลย จะเปลี่ยน code ด้านล่างนี้ให้เป็น class เพื่อเรียกใข้งานได้หลายครั้ง จะเขียนอย่างไงเหรอครับ



 

ผมมีปัญหา ที่อยากรบกวนเพื่อนๆ มากเลย จะเปลี่ยน code ด้านล่างนี้ให้เป็น class เพื่อเรียกใข้งานได้หลายครั้ง จะเขียนอย่างไงเหรอครับ

 



Topic : 084006



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

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

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




$(document).ready(function(e) {
	var dateBefore=null;
	$("#datepicker").datepicker({
        showOn: 'button',  
        buttonImage: '../picture/CalendarIcon.jpg',  
            buttonImageOnly: true,          
		dateFormat: 'yy-mm-dd',
		dayNamesMin: ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'], 
		monthNamesShort: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
		changeMonth: true,
		changeYear: true ,
		beforeShow:function(){
			if($(this).val()!=""){
				var arrayDate=$(this).val().split("-");		
				arrayDate[0]=parseInt(arrayDate[0])-543;
				$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
			}
			setTimeout(function(){
				$.each($(".ui-datepicker-year option"),function(j,k){
					var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
					$(".ui-datepicker-year option").eq(j).text(textYear);
				});				
			},50);

		},
		onChangeMonthYear: function(){
			setTimeout(function(){
				$.each($(".ui-datepicker-year option"),function(j,k){
					var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
					$(".ui-datepicker-year option").eq(j).text(textYear);
				});				
			},50);		
		},
		onClose:function(){
			if($(this).val()!="" && $(this).val()==dateBefore){			
				var arrayDate=dateBefore.split("-");
				arrayDate[0]=parseInt(arrayDate[0])+543;
				$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);	
			}		
		},
		onSelect: function(dateText, inst){ 
			dateBefore=$(this).val();
			var arrayDate=dateText.split("-");
			arrayDate[0]=parseInt(arrayDate[0])+543;
			$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
		}

	});
        
       
        $("#datepicker1").datepicker({
        showOn: 'button',  
        buttonImage: '../picture/CalendarIcon.jpg',  
            buttonImageOnly: true,          
		dateFormat: 'yy-mm-dd',
		dayNamesMin: ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'], 
		monthNamesShort: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
		changeMonth: true,
		changeYear: true ,
		beforeShow:function(){
			if($(this).val()!=""){
				var arrayDate=$(this).val().split("-");		
				arrayDate[0]=parseInt(arrayDate[0])-543;
				$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
			}
			setTimeout(function(){
				$.each($(".ui-datepicker-year option"),function(j,k){
					var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
					$(".ui-datepicker-year option").eq(j).text(textYear);
				});				
			},50);

		},
		onChangeMonthYear: function(){
			setTimeout(function(){
				$.each($(".ui-datepicker-year option"),function(j,k){
					var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
					$(".ui-datepicker-year option").eq(j).text(textYear);
				});				
			},50);		
		},
		onClose:function(){
			if($(this).val()!="" && $(this).val()==dateBefore){			
				var arrayDate=dateBefore.split("-");
				arrayDate[0]=parseInt(arrayDate[0])+543;
				$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);	
			}		
		},
		onSelect: function(dateText, inst){ 
			dateBefore=$(this).val();
			var arrayDate=dateText.split("-");
			arrayDate[0]=parseInt(arrayDate[0])+543;
			$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
		}

	});
});


จาก code ด้านบนน่ะครับ ผมเขียนเป็น .js เพื่อเรียกใช้งานเจ้า datepicker น่ะครับ แต่ปัญหาอยู่ว่า เราสามารถเรียกใช้งานได้เพียงครั้งเดียว ถ้าในหนึ่งหน้าเวปเพจ นั้นมีให้กรอกเก็บกับวันที่ หากผมต้องการใช้งาน ในการกรอกวันที่ สัก 2-3 ครั้งในหน้าเวปเพจเดียวกัน มีคนแนะนำให้เขียนเป็น class แล้วเรียกใช้งาน แต่ว่า ผมทำไม่ได้ รบกวนเพื่อนช่วยเหลือด้วยครับ รบกวนด้วยครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-09-14 17:21:20 By : joolawan View : 940 Reply : 6
 

 

No. 1

Guest


เรียกได้หลายครั้งสิผมก็ใช้อยู่เพียงแค่เปลี่ยน #datepicker เอาเช่น

#datepicker1
#datepicker2
#datepicker3
#datepicker.......






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-14 17:36:54 By : phpbasic
 


 

No. 2



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

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

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


ผมอยากให้ใน code .js นั้น เหลือเพียง algorithm ของ datepicker อย่างเดียว แล้วถ้ามีการเรียกใช้ น่าจะมีการเรียกใช้ผ่าน class รึเปล่า คือ ผมไม่อยากให้ แบบว่า ถ้าจะเรียกใช้ datepicker 3 ครั้ง ผมต้องมา copy สร้าง datepicker เป็น datepicker1,datepicker2 อย่างนี้ ไปเรื่อยๆ นะเหรอ มันไม่ค่อยสะดวก รบกวนเพื่อนๆ อีกครั้งครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-15 00:24:59 By : joolawan
 

 

No. 3



โพสกระทู้ ( 1,463 )
บทความ ( 1 )

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

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

//thaidatepicker.js
function thaidatepicker(selector){
$(document).ready(function(e) {
	var dateBefore=null;
	$(selector).datepicker({
        showOn: 'button',  
        buttonImage: '../picture/CalendarIcon.jpg',  
            buttonImageOnly: true,          
		dateFormat: 'yy-mm-dd',
		dayNamesMin: ['อา', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส'], 
		monthNamesShort: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
		changeMonth: true,
		changeYear: true ,
		beforeShow:function(){
			if($(this).val()!=""){
				var arrayDate=$(this).val().split("-");		
				arrayDate[0]=parseInt(arrayDate[0])-543;
				$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
			}
			setTimeout(function(){
				$.each($(".ui-datepicker-year option"),function(j,k){
					var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
					$(".ui-datepicker-year option").eq(j).text(textYear);
				});				
			},50);

		},
		onChangeMonthYear: function(){
			setTimeout(function(){
				$.each($(".ui-datepicker-year option"),function(j,k){
					var textYear=parseInt($(".ui-datepicker-year option").eq(j).val())+543;
					$(".ui-datepicker-year option").eq(j).text(textYear);
				});				
			},50);		
		},
		onClose:function(){
			if($(this).val()!="" && $(this).val()==dateBefore){			
				var arrayDate=dateBefore.split("-");
				arrayDate[0]=parseInt(arrayDate[0])+543;
				$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);	
			}		
		},
		onSelect: function(dateText, inst){ 
			dateBefore=$(this).val();
			var arrayDate=dateText.split("-");
			arrayDate[0]=parseInt(arrayDate[0])+543;
			$(this).val(arrayDate[0]+"-"+arrayDate[1]+"-"+arrayDate[2]);
		}

	});        
});
}



เวลาใช้ก็
thaidatepicker('#datepicker');
thaidatepicker('#datepicker1');
thaidatepicker('#datepicker2');


โดยทั่วไป selector จะเป็น '#datepicker,#datepicker1,#datepicker2' ได้ แต่พอมีตัวแปร
var dateBefore=null; บางทีอาจจะแชร์ตัวแปรไม่ได้ เลยคิดว่าต้องแยกเป็น 3 คำสั่งแบบนี้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-15 06:47:54 By : num
 


 

No. 4



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

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

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


เวลาเรียกใช้งาน ต้อง add code ตามนี้
<script type="text/javascript" src="js/thaidatepicker.js"></script>
</head>
<body>
<!--ใส่ header เพื่อเปลี่ยน logo เพียงครั้งเดียวแล้วสั่งผลไปทุกหน้า-->
<?php include "header.php"; ?>
<?php thaidatepicker('#datepicker'); ?>

ใช่เปล่าครับ แต่ว่า พอเรียกใช้งาน ไม่เห็นเกิดอะไรขึ้นเลยครับ

พอเอาไปใส่ในตาราง
<table width="500" align="center" border="1">
<tr>
<td align="left" width="300">ทำรายงานส่งตู้ ตาม Asset No. ตั้งแต่วันที่:</td>
<td align="left" width="200"><input name="date_received_start" type="text" id="thaidatepicker('#datepicker');"></td>
</tr>
ก็ยังไม่มีอะไรเกิดขึ้น แถมรันไม่ได้ด้วยน่ะครับ

รบกวนเพื่อนๆ แก้ปัญหาให้หน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-15 07:33:53 By : joolawan
 


 

No. 5



โพสกระทู้ ( 1,463 )
บทความ ( 1 )

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

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

<script>
thaidatepicker('#datepicker');
thaidatepicker('#datepicker1');
</script>

thaidatepicker เป็น js function นะครับ

<input name="date_received_start" type="text" id="thaidatepicker('#datepicker');">
เปลี่ยนเป็น
<input name="date_received_start" type="text" id="datepicker">
<input name="date_received_start" type="text" id="datepicker1">


ประวัติการแก้ไข
2012-09-15 07:36:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-15 07:35:52 By : num
 


 

No. 6



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

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

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


ใช้ได้แล้วครับ สุดยอดเลย ขอบคุณเพื่อนๆ มากเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-15 11:21:05 By : joolawan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ผมมีปัญหา ที่อยากรบกวนเพื่อนๆ มากเลย จะเปลี่ยน code ด้านล่างนี้ให้เป็น class เพื่อเรียกใข้งานได้หลายครั้ง จะเขียนอย่างไงเหรอครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่