|
|
|
รบกวนหน่อยค่ะ inputค่าแบบArray ต้องการเอาค่า input มาบวกกันและแสดงค่าทันที ตามรูป ต้องเขียนสคริปยังไงคะ ตามcodeด้านล่างมันจะบวกแค่ช่องแรกค่ะ |
|
|
|
|
|
|
|
Code (PHP)
while($row ){
<tr>
<td><input type="text" id="input1" name="input1[]" class=c1 OnKeyup="sum1_2(this);" ></td>
<td><input type="text" id="input2" name="input2[]" class=c2 OnKeyup="sum1_2(this);" ></td>
<td><input type="text" id="input3" name="input3[]" ></td>
</tr>
}
<script>
function sum1_2(obj) {
let c1,c2;
if( obj.classList.contains('c1')){
c1 = obj; c2=obj.parentElement.nextSibling.childnodes[0];
}else{
c1 = obj.parentElement.previousSibling.childnodes[0]; c2=obj;
}
c2.parentElement.nextSibling.childnodes[0].value = (c1.value-0) + (c2.value-0);
}
</script>
|
ประวัติการแก้ไข 2022-02-02 08:11:41 2022-02-02 08:16:31 2022-02-02 08:23:11
|
|
|
|
Date :
2022-02-02 08:10:25 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษ Mr.V ด้วยครับ จะกดขอบคุณดันไปกด delete เบลอครับ ขอโทษอย่างสูง
Mr.V อุตส่าห์แก้โค๊ดผม ที่สะกดผิด ให้ถูกต้อง
Code (PHP)
function sum1_2(obj) { // obj คือ input element ที่ถูกกระท
let c1, c2, s1, c3, c4,p; // ประกาศตัวแปร เพื่อใช้ในการอ้างอิง
console.log('obj?', obj.parentElement.nextElementSibling.childNodes[0]);
if (obj.classList.contains('c1')) { // ตรวจสอบ ว่าเป็น คลาส อะไร ที่ถูกกระทำ
c1 = obj; // กรณีเป็นคลาส
c2 = obj.parentElement.nextElementSibling.childNodes[0];
c3 = c2.parentElement.nextElementSibling.childNodes[0];
c2 = obj.parentElement.nextElementSibling.childNodes[0];
} else {
c1 = obj.parentElement.previousElementSibling.childNodes[0];
c2 = obj;
}
c2.parentElement.nextElementSibling.childNodes[0].value = (c1.value - 0) + (c2.value - 0);
}
ส่วนจขกท รอสักครู่นะครับ เดี๋ยวเขียนคำอธิบายโค๊ดให้ กินข้าวแป๊ป 5555
|
|
|
|
|
Date :
2022-02-02 12:27:47 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<!doctype html>
<html>
<body>
<table>
<?php
$ar = [1,2,3,4,5];
foreach($ar as $i){ ?>
<tr>
<td><input type="text" name="inp1[<?=$i?>]" OnChange="sum1_2(this);" ></td>
<td><input type="text" name="inp2[<?=$i?>]" OnChange="sum1_2(this);" ></td>
<td><input type="text" name="sum1[<?=$i?>]" ></td>
<td><input type="text" name="inp3[<?=$i?>]" OnChange="sum1_2(this);" ></td>
<td><input type="text" name="div1[<?=$i?>]" OnChange="sum1_2(this);" ></td>
<td><input type="text" name="inp4[<?=$i?>]" OnChange="sum1_2(this);" ></td>
<td><input type="text" name="total[<?=$i?>]" ></td>
</tr>
<?php } ?>
</table>
<script>
function sum1_2(obj) {
let tr=obj.parentElement.parentElement // กำหนด parent ที่เป็น TR
, c1 = tr.cells[0].childNodes[0] // input ตัวที่ 1
, c2 = tr.cells[1].childNodes[0] // input ตัวที่ 2
, r1 = tr.cells[2].childNodes[0] // result ตัวที่ 1
, c3 = tr.cells[3].childNodes[0] // input ตัวที่ 3
, r2 = tr.cells[4].childNodes[0] // result ตัวที่ 2
, c4 = tr.cells[5].childNodes[0] // input ตัวที่ 4
, tt = tr.cells[6].childNodes[0] // total
if( c1.value.trim().length<1){ c1.focus(); return; }
if( c2.value.trim().length<1){ c2.focus(); return; }
let s=(c1.value-0)+(c2.value-0); // sum c1 + c2
r1.value=s;
if( c3.value.trim().length<1){ c3.focus(); return; }
let d = s / (c3.value-0); // r1 / c3
r2.value=d
if( c4.value.trim().length<1){ c4.focus(); return; }
tt.value=d * (c4.value-0); // r2 * c4 = total
}
</script>
</body>
</html>
ลองศึกษาดูครับ
|
|
|
|
|
Date :
2022-02-02 13:02:06 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|