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 > checkbox enable textbox & loop insert into จากบรรทัดที่ทำการเลือก checkbox



 

checkbox enable textbox & loop insert into จากบรรทัดที่ทำการเลือก checkbox

 



Topic : 132540



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



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



ขอคำแนะนำเกี่ยวกับการ รับค่าจาก checkbox และ textbox เข้า DB ครับ

Code (PHP)
<table class="noborder auto">
  <tbody>
  <?php
    while($row_sauce = $result_sauce->fetch_assoc()){
  ?>
    <tr>
      <td style="text-align:left;">
        <label style="font-family: inherit;">
        <input type="checkbox" name="sauce[]" id="sauce" class="required" value="<?php echo $row_sauce['pro_id']; ?>"/><?php echo $row_sauce['pro_name']; ?></label>
      </td>
      <td>
        <input style="height:inherit;line-height:inherit;" type="number" class="required" for="sauce[]" name="sauce_qty[]" id="sauce_qty"></input>
      </td>
    </tr>
    <?php
      }
    ?>
  </tbody>
</table>


1. ผมจะเขียน script ให้ <input type="number"> disabled true ถ้าหาก checkbox ไม่ได้คลิก เมื่อคลิกให้ <input type="number"> disabled false
2. ผมต้องการนำเข้าข้อมูล Mysql ผมเขียนไว้ประมาณนี้
Code (PHP)
$count_sauce = count($_POST['sauce']);
  for($s=0;$s < $count_sauce;$s++){
    $sql9 = "select * from product_branch where pro_id = '".$_POST['sauce'][$s]."' and branch_id = '".$_SESSION['cus_branch']."'";
    $result9 = $conn->query($sql9);
    if($count9 = $result9->num_rows){
      $row9 = $result9->fetch_assoc();
      $sauce = $row9['pro_sale'] + $_POST['sauce_qty'][$s];
      $sql10 = "update product_branch set pro_sale = '".$sauce."' where probranch_id = '".$row9['probranch_id']."'";
        if($result10 = $conn->query($sql10)){
          $sql11 = "insert into orders_sauce (order_id,product_id,product_qty) values ('".$order_id."','".$_POST['sauce'][$s]."','".$_POST['sauce_qty'][$s]."')";
          $result11 = $conn->query($sql11);
        }
    }
  }

ซึ่งสิ่งที่ผิดพลาดคือ เวลา insert product_qty จะใส่ $_POST['sauce_qty'][$s] อันแรกเสมอ

จากภาพประกอบด้านล่าง สมมติ ผมเลือก checkbox ที่ 2 และใส่ค่าที่ textbox ที่ 2 แล้วส่งค่า
ผลที่ได้คือ
1. checkbox ที่ 2 ส่งค่าถูกต้อง
2. textbox ที่ 2 ไม่ได้ถูกส่งค่ามาแต่เป็น ค่าของ textbox ที่ 1 ถูกส่งมาแทน

ภาพประกอบ
sample



Tag : PHP, MySQL, HTML, HTML5









ประวัติการแก้ไข
2018-11-12 10:11:53
2018-11-12 10:18:36
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-11-12 10:07:31 By : Pla2todkrob View : 1496 Reply : 5
 

 

No. 1



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



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


เท่าที่ผมลองดู type="checkbox" จะถูกส่งไปเฉพาะที่ถูกติ๊กเท่านั้น แต่ type="number" จะถูกส่งไปทั้งหมด
นั้นแปลว่า ถ้าเรามีชุดให้กรอกข้อมูล 2 ชุดตามภาพตัวอย่าง แล้วเราติ๊กเลือกแค่ชุดเดียว
ข้อมูลของ checkbox จะส่งไปแค่ 1 แต่ number จะส่งไป 2 ทำให้เกิดข้อมูลผิดพลาดได้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-11-12 14:02:59 By : Jatmentz
 


 

No. 2



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



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


วิธีแก้เบื้องต้นเท่าที่ผมพอนึกออกตอนนี้นะครับ
คือควรจะใส่ attribute ของ type="number" ให้เป็น disable และให้ enable เมื่อเราติ๊กถูกที่ checkbox ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-11-12 14:04:47 By : Jatmentz
 

 

No. 3



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : Jatmentz เมื่อวันที่ 2018-11-12 14:04:47
รายละเอียดของการตอบ ::
ตอนนี้ผมก็กำลังแก้แบบนี้อยู่เหมือนกันครับ
แต่ไม่รู้ทำเขียน script อะไรผิด มัน disabled แค่แถวแรก
Code (PHP)
<table class="noborder auto">
	<tbody>
		<?php
			while($row_sauce = $result_sauce->fetch_assoc()){
			?>
			<tr>
				<td style="text-align:left;">
					<label style="font-family: inherit;">
					<input type="checkbox" rel="sauce_qty[<?php echo $row_sauce['pro_id']; ?>]" name="sauce[<?php echo $row_sauce['pro_id']; ?>]" id="sauce" class="required" value="<?php echo $row_sauce['pro_id']; ?>"></input><?php echo $row_sauce['pro_name']; ?></label>
				</td>
				<td>
					<input style="height:inherit;line-height:inherit;" type="number" onfocus="this.select();" onmouseup="return false;" class="required" name="sauce_qty[<?php echo $row_sauce['pro_id']; ?>]" id="sauce_qty" value="0"></input>
				</td>
			</tr>
			<script>
				$(document).ready(function(){
					$('#sauce_qty').prop("disabled",true);
					$('#sauce').change(function(){
						var rel = $(this).attr('rel');
						if($(this).is(":checked"))
						$("#sauce_qty[name='"+rel+"']").prop("disabled", false).focus();
						else
						$("#sauce_qty[name='"+rel+"']").prop("disabled", true);
					});
				});
			</script>
			<?php
			}
		?>
	</tbody>
</table>

ภาพประกอบ
ก่อนคลิก
1
3
หลังคลิก
2

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-11-12 14:17:12 By : Pla2todkrob
 


 

No. 4



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

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

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


https://stackoverflow.com/questions/36908810/enable-textbox-on-click-of-checkbox-in-each-table-row
http://jsfiddle.net/e7SZV/52/


ประวัติการแก้ไข
2018-11-12 15:43:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-11-12 15:37:57 By : Pong Thep
 


 

No. 5



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



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

ตอบความคิดเห็นที่ : 4 เขียนโดย : Pong Thep เมื่อวันที่ 2018-11-12 15:37:57
รายละเอียดของการตอบ ::
ขอบคุณมากครับ ตอบโจทย์สุดๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-11-12 16:18:47 By : Pla2todkrob
 

   

ค้นหาข้อมูล


   
 

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