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 > javascript คำนวณนะครับ คือผมดึงข้อมูลมาจากฐานข้อมูลนะครับแล้วอยากให้ติกสองช่องแล้วช่องที่สามคำนวณเงินมาเลยนะครับ



 

javascript คำนวณนะครับ คือผมดึงข้อมูลมาจากฐานข้อมูลนะครับแล้วอยากให้ติกสองช่องแล้วช่องที่สามคำนวณเงินมาเลยนะครับ

 



Topic : 045475



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



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




คือผมดึงข้อมูลมาจากฐานข้อมูลนะครับแล้วอยากให้ติกสองช่องแล้วช่องที่สามคำนวณเงินมาเลยนะครับ

แต่ละช่องจะมีค่า value=<?php ประมาณนี้นะครับ?>Code (PHP)
<?php
 include_once('../config/connect_db.php');
$sql="select n.name_listdev,d.price_dev,d.num_dev,d.sum_dev from device n,rec_order d
      where n.id_dev=d.id_dev and d.id_num_order=".$_REQUEST['id_num_order'];
	        $rs=$db->Execute($sql)or die ('ERROR1');
			$num_r=$rs->NumRows();
			 $id=1;
			while(!$rs->EOF){
			    $result=$rs->fields;
				 $name_listdev=$result['name_listdev'];
				 $price_dev=$result['price_dev'];
				 $num_dev=$result['num_dev'];
				 $sum_dev=$result['sum_dev'];
?>
        <tr>
<td align="left" valign="middle" class="font">&nbsp;<?php echo $name_listdev?></td>
<td align="center" valign="middle"><span class="font">
<input name="price_dev[]" type="text" class="textfile" id="price_dev<?php echo 	$id ?>" value="<?php echo $price_dev ?>" maxlength="9"/></span></td>
<td align="center" valign="middle"><span class="font">
<input name="num_dev[]" type="text" class="textfile" id="num_dev<?php echo $id ?>" value="<?php echo $num_dev?>" maxlength="9" onblur="return caledit_sum()"/></span></td>
<td align="center" valign="middle">
<input name="sum_dev[]" type="text" class="textfile" id="sum_dev <?php echo $id ?>" value="<?php echo $sum_dev?>" maxlength="9"/></td>
</tr>
<?php
$rs->MoveNext();
  $id++;
/*ผมอยากให้  price_dev*num_dev=$sum_dev คือผมอยากให้ javascript คำนวณอัตโนมัตินะครับต้องให้มันเขียนยังไงครับช่วยด้วยครับ*/
}
	
?>




Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-07-15 12:23:19 By : sleepington View : 3146 Reply : 3
 

 

No. 1



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

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

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

ถ้าคุณต้องการระบบคำนวณอัตโนมัติ ใน js จะว่าไปมันก็ไม่ยาก แต่มันก็ใช้เวลาบ้าง

วิธีการก็คือ

1. ใช้ onchange ดัก หรื onblur
2. ตรวจสอบว่า อันไหนกรอกครบสองช่อง(คู่กัน) แล้วเอา index มาไว้ใช้ตอนคำนวณ
3. ตรวจสอบว่ากรอกเป็นตัวเลขหรือไม่ อาจใช้ isNaN() (อาจตรวจก่อนข้อ 2)
4. เปลี่ยนข้อมูลให้เป็นตัวเลข จะใช้ parseInt() หรื parseFloat() ก็แล้วแต่
5. คำณวนตาม index ที่เก็บไว้ แสดงผลตาม index เดียวกันในที่แสดงผล ส่วน last total ก็แค่เอามารวมกัน

ถ้าคุณเขียนได้ด้วยตัวเอง คุณก็จะถนัด js มากขึ้น และต่อไปก็ง่ายแล้ว


ผมมีตัวอย่าง อาจจะไม่เหมือนคุณแต่ลักษณะคล้ายกัน (พอดีใช้ jquery อย่าเพิ่งงง นะคับ)
Code (JS)
$(':text[count_id]').change( function(){
			var count_id = $(this).attr('count_id');
			var price_per_day = $('#price_id'+count_id).attr('price');
			var start_promotion = $('#price_id'+count_id).attr('start_promotion');
			var discount = $('#price_id'+count_id).attr('discount');
			
			var rooms_total_price = parseInt($(this).val()) * parseFloat(price_per_day) * parseInt(booking_days);
			if( isNaN(rooms_total_price) || rooms_total_price < 0 ){
				alert('กรุณากรอกจำนวนห้องให้ถูกต้อง');
				$(this).val('');
				$('span[totalroomprice='+count_id+']').attr('amount', '0').html('0฿').css('color', 'black');
			}else{
				$(this).val( parseInt($(this).val())+'' );
				
				if( parseInt($(this).val()) >= parseInt(start_promotion) && parseInt(start_promotion) != 0 ){//คำนวนลดราคาถ้าเข้าสู่เงื่อนไขตามจำนวนจอง
					rooms_total_price = Math.ceil(rooms_total_price * (100 - parseInt(discount)) / 100);
					$('span[totalroomprice='+count_id+']').css('color', 'darkgreen');
				}else{
					$('span[totalroomprice='+count_id+']').css('color', 'black');
				}
				
				$('span[totalroomprice='+count_id+']').attr('amount', rooms_total_price+'').html( addCommas(rooms_total_price)+'฿' );
			}
			
			showTotalPrice();
		});
		
		function showTotalPrice(){
			var total_price = 0;
			$('span[totalroomprice]').each( function(){
				total_price += parseFloat( $(this).attr('amount') );
			});
			
			var total_with_tax = Math.ceil(total_price * 1.07);
			
			$('#total_price').html( addCommas(total_price) );
			$('#grand_total_price').attr('amount', total_with_tax+'').html( addCommas(total_with_tax)+'฿' );
			$('#tdtotal').width(99);
		}
		<?php
		//ถ้ามีการย้อนกลับมาแก้ไขข้อมูล ให้คำนวนเงิน
		if($edit){//if x
		?>
		$(':text[count_id]').change();
		<?php
		}//if x
		?>


http://gunner.freetzi.com






Date : 2010-07-15 12:47:36 By : pjgunner
 


 

No. 2



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



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


งงง ครับ..
Date : 2010-07-15 12:49:54 By : sleepington
 

 

No. 3



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

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

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

คับ ไม่ต้องไปสนใจโค้ดผมหรอก แค่ทำตามขั้นตอนครับ เพราะโค้ดนี้เป็นโค้ดแบบ ดราฟ เพราะ gui มันออกแบบยากผมไม่รู้ว่าจะต้องรื้อหรือป่าว ถ้าเขียนโค้ดแบบดีๆ มันจะเสียของถ้าต้องทำ gui ใหม่
Date : 2010-07-15 12:57:24 By : pjgunner
 

   

ค้นหาข้อมูล


   
 

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