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

HOME > PHP > PHP Forum > ช่วยหาราคาสุทธิทีครับ มันบวกกันแล้วแสดงผลไม่ถูกต้องครับ



 

ช่วยหาราคาสุทธิทีครับ มันบวกกันแล้วแสดงผลไม่ถูกต้องครับ

 



Topic : 114123



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



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




หาผลคูณในแต่ละแถวได้ครับ
แต่จะหาผลรวมของทุกแถวที่ติ๊กcheckbox ไม่ถูกครับ

Code (PHP)
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <script type="text/javascript">
            
            function fncCheck(id){

                var Line = document.getElementById('line');
                var Check = document.getElementById('check'+id);
                var Amount = document.getElementById('amount'+id);
                var Total = document.getElementById('total'+id);

                for(var i=0;i<Line.value;i++){

                    if(Check.checked == true){

                        Amount.readOnly = false;
                        Amount.style.background = "";
                        Amount.focus();
                        
                    }else{

                        Amount.readOnly = true;
                        Amount.style.background = "#EEEEEE";
                        Amount.value = "";
                        Total.value = "";

                    }
                }
            }
            
            function fncSum(id){

                var Line = document.getElementById('line');
                var Price = document.getElementById('price'+id);
                var Amount = document.getElementById('amount'+id);
                var Total = document.getElementById('total'+id);
                var End = document.getElementById('end');
                var Sum = 0;

                if(event.keyCode == 8 && Amount.value == '' || (event.keyCode < 96 || event.keyCode > 105) && Amount.value == ''){

                        Total.value = '';

                }else{
                    
                    for(var i=0;i<Line.value;i++){
                        
                        Total.value = parseFloat(Amount.value) * parseFloat(Price.value);

                        Sum += parseFloat(Total.value * 1);
                    }
                    
                    End.value = Sum;

                }  
            }

            function checkNumber(id){

                var Amount = document.getElementById('amount'+id).value;
                var key = event.keyCode;
                if((key < 48 || key > 57) || (key == 48 && Amount == ''))
                {
                    event.returnValue = false;
                }
            }
            </script>
        <form action="" method="post" name="form1">

            <?php for($i=0;$i<5;$i++){ ?>
                เลือก :
                <input type="checkbox" name="check[]" id="check<?=$i;?>" value="" onClick="fncCheck(<?=$i;?>);">
                ราคา :
                <input type="text" name="price[]" id="price<?=$i;?>" value="20" readonly style="background: #EEEEEE;"/>
                จำนวน :
                <input type="text" name="amount[]" id="amount<?=$i;?>" value="" readonly onKeyup="fncSum(<?=$i;?>);" onKeypress="return checkNumber(<?=$i;?>);" style="background: #EEEEEE;"/>
                รวม :
                <input type="text" name="total[]" id="total<?=$i;?>" value="" readonly style="background: #EEEEEE;"/><br/>
                
            <?php } ?>
                ........... รวมสุทธิ :
                <input type="text" name="end" id="end" value="" readonly style="background: #EEEEEE;"/><br/>

                <input type="hidden" name="line" id="line" value="<?=$i;?>"/>
                <input name="btnSubmit" type="submit" value="Submit"/>
        </form>
    </body>
</html>




Tag : PHP, JavaScript









ประวัติการแก้ไข
2015-01-31 14:26:44
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-01-31 14:26:09 By : sabaitip View : 662 Reply : 3
 

 

No. 1

Guest


มีตัวอย่างที่เป็น jquery ดีๆ อยู่เยอะ อย่าเขียนแบบเก่าเลยครับ

แทนที่จะใช้ id ที่ไม่ซ้ำกัน หันมาใช้ class ดีกว่าครับ เขียนง่ายกว่ากับคำสั่งประเภท $(this) แล้วอ้างถึง class selector
แถมไม่เปลืองเมมโมรี่ของระบบด้วย






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-01-31 18:00:18 By : ไม่ทราบแหล่งที่มา
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-01 07:49:40 By : mr.win
 

 

No. 3



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


แนะนำใช้ jqury เหมือนกันครับ (ปล. ถ้าไม่กลัวเปลือง bandwidth)

ส่วนถ้าไม่ใช้ jquery ก็ลองดูตัวอย่างนี้ครับ
Code (PHP)
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script>
function sum_checkbox(){
	frm.t.value='';
	var chkbox_objs = document.getElementsByClassName('chkbox_class');
	var c=chkbox_objs.length;
	var sum = 0, k=0 , txt;
	for( k ; k<c; k++ ){
		frm.t.value+=k+" = ";
		if( chkbox_objs.item(k).checked){
			txt=chkbox_objs.item(k).parentNode.parentNode.childNodes[1].childNodes[0].value;
			frm.t.value+='data '+k+'='+txt + "\n";
			sum += parseInt(txt);
		}
	}
	alert( sum );
} 
</script>
</head>
<body>
<table>
<tr><td><input type="checkbox" class="chkbox_class"></td><td><input type="text" value="1"></td></tr>
<tr><td><input type="checkbox" class="chkbox_class"></td><td><input type="text" value="2"></td></tr>
</table>
<form name="frm">
<textarea name="t"></textarea>
<button type="button" onClick="sum_checkbox()">Save</button>
</form>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-01 09:54:41 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

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