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

HOME > PHP > PHP Forum > สอบถามเลือก checkbox แล้้วค่า Value เข้าไปคำนวนแล้วค่าทั้งหมดเข้า text box


[PHP] สอบถามเลือก checkbox แล้้วค่า Value เข้าไปคำนวนแล้วค่าทั้งหมดเข้า text box

 
Topic : 135111



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



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



ผมมีตัวอย่างของที่ผมตามหัวข้อดังนี้
Code (PHP)
01.<form name="frm">
02.<p><input type="checkbox" value="1" onclick="tick(frm)" /> 1</p>
03.<p><input type="checkbox" value="2" onclick="tick(frm)" /> 2</p>
04.<p><input type="checkbox" value="3" onclick="tick(frm)" /> 3</p>
05.<p><input type="checkbox" value="4" onclick="tick(frm)" /> 4</p>
06.<input type="text" name="sum" value="0" />
07.</form>
08.<script type="text/javascript">
09.function tick( frm )
10.{
11.  var sum=0;
12.  for (var i = 0; i < frm.elements.length; i++) {
13.    var chk = frm.elements[i];
14.    if ( chk.type == 'checkbox' && chk.checked )
15.    {
16.      sum += parseFloat( chk.value );
17.    };
18.  };
19.  frm.sum.value = sum;
20.}
21.</script>

ถ้าแบบนี้มันคำนวนได้
แต่ปัญหาคือพอเพิ่มเข้าไปอีกชุดใน form เดียวกัน มันไม่อ่านชุดใหม่
Code (PHP)
01.<form name="frm">
02.<p><input type="checkbox" id="checkbox" value="1" onclick="tick(frm)" /> 1</p>
03.<p><input type="checkbox" id="checkbox" value="2" onclick="tick(frm)" /> 2</p>
04.<p><input type="checkbox" id="checkbox" value="3" onclick="tick(frm)" /> 3</p>
05.<p><input type="checkbox" id="checkbox" value="4" onclick="tick(frm)" /> 4</p>
06.<input type="text" name="sum" id="sum" value="0" />
07.<hr>
08.<p><input type="checkbox" id="checkbox1" value="1" onclick="tick1(frm1)" /> 1</p>
09.<p><input type="checkbox" id="checkbox1" value="2" onclick="tick1(frm1)" /> 2</p>
10.<p><input type="checkbox" id="checkbox1" value="3" onclick="tick1(frm1)" /> 3</p>
11.<p><input type="checkbox" id="checkbox1" value="4" onclick="tick1(frm1)" /> 4</p>
12.<input type="text" name="sum1" id="sum1" value="0" />
13.</form>
14.<script type="text/javascript">
15.function tick( frm )
16.{
17.  var sum=0;
18.  for (var i = 0; i < frm.elements.length; i++) {
19.    var chk = frm.elements[i];
20.    if ( chk.type == 'checkbox' && chk.checked )
21.    {
22.      sum += parseFloat( chk.value );
23.    };
24.  };
25.  frm.sum.value = sum;
26.}
27. 
28.function tick1(frm1)
29.{
30.  var sum1=0;
31.  for (var i1 = 0; i1 < frm1.elements.length; i1++) {
32.    var chk1 = frm1.elements[i1];
33.    if ( chk1.type == 'checkbox1' && chk1.checked )
34.    {
35.      sum1 += parseFloat( chk.value );
36.    };
37.  };
38.  frm1.sum1.value = sum1;
39.}
40.</script>

แก้ยังไงครับ ขอบพระคุณหลาย



Tag : PHP

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-04-12 22:35:05 By : yutthanagorn View : 1570 Reply : 5
 

 

No. 1



โพสกระทู้ ( 4,765 )
บทความ ( 8 )



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


Code (JavaScript)
1.tick1(frm1)

frm1 คือตัวอ้างอิง มันไม่มี อ้างไม่ถูก หาไม่เจอ มันก็ไม่คำณวนอะไรได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-12 22:47:33 By : mr.v
 

 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.v เมื่อวันที่ 2020-04-12 22:47:33
รายละเอียดของการตอบ ::
... ใส่ความคิดเห็นตรงนี้.......


ต้องแก้เช่นไรให้มันคำนวนแยกได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-12 22:54:05 By : yutthanagorn
 

 

No. 3



โพสกระทู้ ( 4,765 )
บทความ ( 8 )



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


ก็แยกฟอร์มไปสิครับ คุณต้องอ่านโค้ดให้เข้าใจด้วย มันอ้างอิง object frm1 ตัวอย่างแรก frm มันอยู่บนแท็ก <form> ก็แยกฟอร์มออกไปแล้วตั้งชื่อให้มันตรง

อีกอย่าง เดี๋ยวนี้ attribute name สำหรับอื่นๆที่ไม่ใช่ input เขาเลิกใช้หมดแล้ว ให้ใช้ id แทน และ id จะต้องไม่ซ้ำ


ประวัติการแก้ไข
2020-04-13 00:05:26
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-12 22:56:04 By : mr.v
 

 

No. 4



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



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


ได้ตามต้องการละครับ ขอบพระคุณมากๆ

Code (PHP)
01.<html>
02.<head>
03.<title></title>
04.</head>
05.<body>
06.<script language="javascript">
07.function fnccheck(){
08.    var t1;
09.    var t2;
10.    var sum;
11.    if(document.form1.chk1.checked == true){
12.        t1=parseFloat(document.form1.chk1.value);
13.    }else
14.        t1=null;
15.    }
16.    if(document.form1.chk2.checked == true){
17.        t2=parseFloat(document.form1.chk2.value);
18.    }else
19.        t2=null;   
20.    }  
21.    sum=t1+t2;
22.    document.form1.total.value=sum;
23.}
24.</script>
25.<script language="javascript">
26.function fnccheck1(){
27.    var t1;
28.    var t2;
29.    var sum;
30.    if(document.form1.chk3.checked == true){
31.        t1=parseFloat(document.form1.chk3.value);
32.    }else
33.        t1=null;
34.    }
35.    if(document.form1.chk4.checked == true){
36.        t2=parseFloat(document.form1.chk4.value);
37.    }else
38.        t2=null;   
39.    }  
40.    sum=t1+t2;
41.    document.form1.total1.value=sum;
42.}
43.</script>
44.<form action="page.cgi" method="post" name="form1">
45.<input name="chk1" type="checkbox" id="chk1" value="100" OnClick="JavaScript:return fnccheck();">100
46.<br>
47.<input name="chk2" type="checkbox" id="chk2" value="200" OnClick="JavaScript:return fnccheck();">200
48.<br>
49.<input type="text" name="total" id="total"/>
50.<hr>
51.<input name="chk3" type="checkbox" id="chk3" value="1000" OnClick="JavaScript:return fnccheck1();">1000
52.<br>
53.<input name="chk4" type="checkbox" id="chk4" value="2000" OnClick="JavaScript:return fnccheck1();">2000
54.<br>
55.<input type="text" name="total1" id="total1"/>
56.</form>
57.</body>
58.</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-12 23:04:27 By : yutthanagorn
 

 

No. 5



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



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


เขียนแบบนี้ ถ้าเพิ่มหลายๆ ชุด มียาวพรืดเหรอครับ เพิ่ม พารามิเตอร์ เข้าไปดีไหม

OnClick="fnccheck(0);"
OnClick="fnccheck(1);"

และก็โค๊ด คห แรก ดีกว่า คห 4 นะครับ เพราะใช้ element ในการค้นหา
เวลา กำหนดชุด เราก็สามารถใส่ attribute เพื่อแยกรายการได้
Code (JavaScript)
01.<form name="frm">
02.  <input type=checkbox for="1" value=1 onclick="chkclick('1')" >
03.  <input type=checkbox for="1" value=2 onclick="chkclick('1')" >
04.  <input type=checkbox for="1" value=3 onclick="chkclick('1')" >
05.  <input type=checkbox for="2" value=5 onclick="chkclick('2')"  >
06.  <input type=checkbox for="2" value=6 onclick="chkclick('2')" >
07.  <input type=checkbox for="2" value=7 onclick="chkclick('2')" >
08.   
09.</form>
10.<script>
11.function chkclick(op){
12.  // ค้นหา element โดยใช้ attribute จาก parameter เก็บไว้ในตัวแปร
13.  var chk = frm.getElementsByAttribute('for', op);
14.  var i=0,j=0;
15.  for( i; i<chk.length;i++){
16.    if( chk[i].checked ) j+=chk.value*1;
17.  }
18.  alert(j);
19.}


ปล. ตัวอย่างนะครับ ไม่ใช่ สิ่งที่คุณต้องการ แค่เป็นตัวอย่าง algorithm ต้องอ่านและประยุกต์ใช้เอาเอง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-04-13 07:34:48 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

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





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