|
|
|
ช่วยดูโค้ดหน่อยครับ เวลาเพิ่มแถวแล้วมันไม่ยอมคำนวนให้ครับ |
|
|
|
|
|
|
|
เวลาคุณเพิ่ม Row มันไปเพิ่มอีกเทเบิลหนึ่ง แต่คุณคำนวณอยู่อีกเทเบิลหนึ่งครับ
|
|
|
|
|
Date :
2014-07-07 16:32:31 |
By :
soghband |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะต้องเพิ่มตรงไหนเข้าไปครับ
|
|
|
|
|
Date :
2014-07-07 16:50:39 |
By :
wichasit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดันๆๆ ช่วยด้วยครับ
|
|
|
|
|
Date :
2014-07-07 20:00:55 |
By :
wichasit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อุ้ยผิดไม่ใช่ต่างเทเบิล คือไม่ได้กำหนด id ให้ textbox ที่เพิ่มมาใหม่ครับ
|
|
|
|
|
Date :
2014-07-07 20:54:31 |
By :
soghband |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผิดตรงนี้ครับ
บรรทัด24 <form action="page.cgi" method="post" name="form1">
การใช้กับ javascript ที่มีการเรียก document.formX ต้องประกาศ id ด้วยเพราะ javascriptถ้าจะเรียกค่าอะไรซักอย่างจะเรียกที่ id ไม่ได้เรียกที่ nameดังนั้นปรับเป็น
<form action="page.cgi" method="post" name="form1" id="form1" >
|
|
|
|
|
Date :
2014-07-07 21:15:49 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ้าง id ไม่ได้ครับ มันเหมือนกันหมดเลย
อ้าง name ที่เป็น array ครับ แต่ name ของคุณก็เหมือนกันอีก
array row 1 ก้จะป็น txtVol[0] [1] [2]
array row 2 ก้จะป็น txtVol[3] [4] [5]
แต่ด้วยที่มันเป็น jquery ผมไม่เป้นครับ ก็แนะนำได้เท่านี้ครับ
|
|
|
|
|
Date :
2014-07-07 21:17:06 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถือถ้าไม่ใช้ jquery ก็ดูตัวอย่างเอานะครับ
Code (JavaScript)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
.iNum{
text-align: right;
}
</style>
</head>
<body onload="clearRow(1)">
<script language="javascript" >
function fncCal(){
var tot = 0;
var sum = 0;
var tb=document.getElementById('myTbl');
var rows=tb.rows;
var roNum=rows.length-1;
for(i=1; i<=roNum; i++){
var amt = rows[i].cells[1].childNodes[0].value;
var prz = rows[i].cells[2].childNodes[0].value;
if(amt && prz){
tot=amt * prz;
rows[i].cells[3].childNodes[0].value=tot;
sum += tot;
}
}
document.form1.txtSum.value=sum;
}
function addRow(){
var tb=document.getElementById('myTbl');
var rows=tb.rows;
var roNum=rows.length;
var row=tb.insertRow(roNum);
row.className='firstTr';
row.insertCell(0).innerHTML='<input name="data[]" type="text" class="text_data" size="50" />';
row.insertCell(1).innerHTML='<input name="amt[]" type="text" value="0" class="iNum" onblur="fncCal()" />';
row.insertCell(2).innerHTML='<input name="prz[]" type="text" value="0" class="iNum" onblur="fncCal()" />';
row.insertCell(3).innerHTML='<input name="tot[]" type="text" value="0" class="iNum" onblur="fncCal()" />';
}
function eraseRow(){
var tb=document.getElementById('myTbl');
var rows=tb.rows;
var roNum=rows.length-1;
if(roNum>1){
var tot=rows[roNum].cells[3].childNodes[0].value;
document.form1.txtSum.value -= tot;
tb.deleteRow(roNum);
}else alert('ห้ามลบรายการสุดท้ายได้')
}
function clearRow(idx){
var tb=document.getElementById('myTbl');
var rows=tb.rows;
var roNum=rows.length-1;
rows[idx].cells[0].childNodes[0].value='';
rows[idx].cells[1].childNodes[0].value=0;
rows[idx].cells[2].childNodes[0].value=0;
rows[idx].cells[3].childNodes[0].value=0;
document.form1.txtSum.value=0;
}
</script>
<form action="page.cgi" method="post" name="form1">
<table id="myTbl" width="650" border="1" cellspacing="0" cellpadding="1">
<tr>
<td align="center" bgcolor="#001B35"><font color="#FFFFFF">รายการซ่อม</font></td>
<td width="90" align="center" bgcolor="#001B35"><font color="#FFFFFF">จำนวน</font></td>
<td width="90" align="center" bgcolor="#001B35"><font color="#FFFFFF">ราคา/หน่วย</font></td>
<td width="110" align="center" bgcolor="#001B35"><font color="#FFFFFF">ราคา</font></td>
</tr>
<tr class="firstTr" >
<td><input name="data[]" type="text" class="text_data" size="50" /></td>
<td><input name="amt[]" type="text" onBlur="fncCal()" class="iNum" /></td>
<td><input name="prz[]" type="text" onBlur="fncCal()" class="iNum" /></td>
<td><input name="tot[]" type="text" onBlur="fncCal()" class="iNum" /></td>
</tr>
</table>
<br />
<table width="650" border="0" cellspacing="0" cellpadding="0" >
<tr>
<td align="right">ราคารวม : </td>
<td width="108" align="right"><input name="txtSum" id="txtSim" type="text" style="text-align: right; width: 108px"></td>
</tr>
</table>
<table width="650" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center"> <input type="button" onclick="addRow()" value="+" />
<input type="button" onclick="eraseRow()" value="-" />
<input type="button" name="Submit" value="บันทึกงานซ่อม" onclick="this.form.submit()" /></td>
</tr>
</table>
</form>
</body>
</html>
|
ประวัติการแก้ไข 2014-07-08 21:29:55
|
|
|
|
Date :
2014-07-08 21:29:22 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็อยู่ที่ว่าจะเอา vat แสดงตรงไหน แสดงแค่หลังผลรวม ทั้งหมดหรือเปล่า ซึ่งส่วนใหญ่ก็จะเป็นอย่างนั้นครับ
|
|
|
|
|
Date :
2014-07-08 22:25:21 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ jquery เต็มรูปแบบค่ะ
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en">
<head>
<title>https://www.thaicreate.com/php/forum/109774.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script language="javascript">
</script>
<form action="page.cgi" method="post" name="form1">
<input type="hidden" name="hdnLine" value="20">
<table id="myTbl" width="650" border="1" cellspacing="0" cellpadding="1">
<thead>
<tr>
<th width="30" align="center" bgcolor="#001B35"><font color="#FFFFFF">No.</font></th>
<th width="335" align="center" bgcolor="#001B35"><font color="#FFFFFF">รายการซ่อม</font></th>
<th width="96" align="center" bgcolor="#001B35"><font color="#FFFFFF">จำนวน</font></th>
<th width="91" align="center" bgcolor="#001B35"><font color="#FFFFFF">ราคา/หน่วย</font></th>
<th width="108" align="center" bgcolor="#001B35"><font color="#FFFFFF">ราคา</font></th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">1</td>
<td align="center"><input name="data[]" type="text" size="50" /></td>
<td align="center"><input name="txtAmount[]" type="text" class='amnt' /></td>
<td align="center"><input name="txtPrice[]" type="text" class='price' /></td>
<td align="center"><input name="txtTotal[]" type="text" class='total' readonly /></td>
</tr>
</tbody>
<tfoot>
<tr>
<th colspan="3" align="right"> </th>
<th align="right">ราคารวม:</th>
<th align="center"><input name="txtSum" id="txtSum" type="text" /></th>
</tr>
<tr>
<th colspan="3" align="right"> </th>
<th align="right">VAT 7%</th>
<th align="center"><input name="txtVAT" id="txtVAT" type="text" /></th>
</tr>
</tfoot>
</table>
<br />
<table width="650" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center"> <button id="addRow" type="button">+</button>
<button id="removeRow" type="button">-</button></td>
</tr>
<tr>
<td align="center">
<input type="submit" name="Submit" id="Submit" value="บันทึกงานซ่อม" /></td>
</tr>
</table>
</form>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(function(){
$("#addRow").click(function(){
var cloning = $("#myTbl").find("tbody tr:first").html();
cloning = '<tr>'+cloning+'</tr>';
$("#myTbl tbody").append(cloning);
// เเพิ่มลำดับแต่ละแถว
$("#myTbl tbody tr").each(function(indx){
$("td:first",this).text(indx+1);
});
});
$("#removeRow").click(function(){
// // ส่วนสำหรับการลบ
if($("#myTbl tbody tr").size()>1){ // จะลบรายการได้ อย่างน้อย ต้องมี 1 รายการ
$("#myTbl tbody tr:last").remove(); // ลบรายการสุดท้าย
}else{
// เหลือ 1 รายการลบไม่ได้
alert("ต้องมีรายการข้อมูลอย่างน้อย 1 รายการ");
}
});
$("#myTbl tbody").on("keyup","input.amnt ,input.price",function(){
var amnt = $(this).parents('tr').find('input.amnt').val(),
price = $(this).parents('tr').find('input.price').val(),
total = parseFloat(amnt)*parseFloat(price);
var gtotal = 0;
if(!isNaN(total))
$(this).parents('tr').find('input.total').val(total);
$("#myTbl tbody tr").each(function(){
gtotal = gtotal + parseFloat($(this).find('input.total').val());
});
if(!isNaN(gtotal)){
$("#txtSum").val(gtotal);
$("#txtVAT").val(gtotal*7/100);
}
});
});
</script>
</body>
</html>
|
|
|
|
|
Date :
2014-07-09 00:01:22 |
By :
survivor |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่มันช้าเพราะเราไม่ได้ clear object ที่ไม่ได้ใช้ ออกมั้งครับ
|
|
|
|
|
Date :
2014-07-09 12:11:47 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|