|
|
|
ขอสอบถามเรื่อง texbox แถวสุดท้ายไม่ยอม คูณ กัน ครับ 1-4 แถวข้างบน บวกกันหมด ครับ ยกเว้น แถวสุดท้าย |
|
|
|
|
|
|
|
รบกวน พี่ ๆ ด้วย ครับ คือ 2 แถวสุดท้าย ค่า เหมือนกัน ครับ แต่ทำไม แถว ที่ 4 คูณ กัน ได้ผลลัพธ์ แต่ แถวที่ 5 ถึงไม่ทำงานครับ เป็นเพราะอะไร ช่วยหน่อย ครับ
ผม view source มาแล้ว ด้านล่าง ครับ
Code (PHP)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.js"></script>
<script type="text/javascript">
function calcfunc(i) {
var val1 = parseFloat(document.getElementById("id1" + i).value);
var val2 = parseFloat(document.getElementById("id2" + i).value);
var Discount = parseFloat(document.getElementById("Discount" + i).value);
var result = ((val1*val2)-((val1*val2)*Discount/100)) ;
if (isFinite(result)) {
document.getElementById("id3" + i).value = result;
}
}
// Unidentifier from Thaicreate.com
$.fn.addCommas = function () {
return this.val().toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");
};
$(document).ready(function(){
var tbody = $("#summaryTable tbody tr");
var Gtotal = $("input:text#grandTotal");
var Gtotal2 = $("input:text#grandTotal2");
var order_pledge = parseFloat(document.getElementById("order_pledge").value);
var color_order = parseFloat(document.getElementById("color_order").value);
var discount_order = parseFloat(document.getElementById("discount_order").value);
$("input:text",tbody).keyup(function(){
var total=0;
$("td:last-child > input:text",tbody).each(function(){
if($(this).val() != '')
total = parseFloat(total) + parseFloat($(this).val());
});
Gtotal.val (( (parseFloat(total)-(parseFloat(order_pledge))) + (parseFloat(color_order))-(parseFloat(discount_order))) + ( (parseFloat(total)-(parseFloat(order_pledge))) + (parseFloat(color_order))-(parseFloat(discount_order)))*0.07 );
Gtotal2.val(( (parseFloat(total)-(parseFloat(order_pledge))) + (parseFloat(color_order))-(parseFloat(discount_order))) );
});
});
</script>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function(){
$("#process").click(function(){
var stock_order_member_rest = $("input[name*=stock_order_member_rest]")
var stock_order_member_send = $("input[name*=stock_order_member_send]")
var aar = [];
var aat = [];
var ssi = $("input[name*=stock_order_member_rest]").size()
stock_order_member_rest.each(function(value, key){
aar.push($(key).val())
})
stock_order_member_send.each(function(value, key){
aat.push($(key).val())
})
for(i=0;i<ssi;i++)
{
$("#stock_order_member_rest"+i).val(aar[i] - aat[i])
}
})
})
</script>
<script type="text/javascript">
function chk_value(i) {
var stock_order_member_rest = parseFloat(document.getElementById("stock_order_member_rest" + i).value);
var val22 = parseFloat(document.getElementById("id1" + i).value);
if(stock_order_member_rest < val22){
alert(' กรอกจำนวนเกินที่เหลือ!! ');
$('#id1'+i).val("");
}
}
</script>
<table width="1030" height="750" border="0" align="center" cellspacing="0" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
<tr>
<td width="1" colspan="6" align="center" valign="top"><a href="pompany_user.php"></a>
<form action='test_test_1_in.php' method='post' name = "form" >
<table width="200" border="0" align="center" cellspacing="0">
<tr>
<td>
<table width="900" height="1%" border="0" align="center" cellspacing="0" bordercolor="#CCCCCC">
<tr>
<td width="83" valign="middle" bgcolor="#FFFFFF" class="p" > </td>
<td width="158" align="left" valign="top" bgcolor="#FFFFFF" class="a11" > </td>
<td width="209" align="right" valign="top" bgcolor="#FFFFFF" class="a11" > </td>
<td width="240" align="left" valign="top" bgcolor="#FFFFFF" class="a11" > </td>
<td width="56" align="right" valign="top" bgcolor="#FFFFFF" class="a3" > </td>
<td width="7" align="left" valign="top" bgcolor="#FFFFFF" > </td>
<td width="133" align="left" valign="top" bgcolor="#FFFFFF" > </td>
</tr>
</table></td>
</tr>
<tr>
<td>
<table id="summaryTable" width="900" border="1" align="center" cellspacing="0" bordercolor="#CCCCCC">
<tr class="gf">
<td width="28" align="center" valign="middle" bgcolor="#CCCCCC"> </td>
<td width="160" align="center" valign="middle" class="sf" bgcolor="#CCCCCC">รายการ</td>
<td width="156" align="center" valign="middle" class="sf" bgcolor="#CCCCCC">ขนาด</td>
<td width="81" align="center" valign="middle" class="sf" bgcolor="#CCCCCC">จำนวน</td>
<td width="75" align="center" valign="middle" class="sf" bgcolor="#CCCCCC">จำนวนเหลือ</td>
<td width="84" align="center" valign="middle" class="sf" bgcolor="#CCCCCC" >จำนวนส่ง</td>
<td width="84" align="center" valign="middle" class="sf" bgcolor="#CCCCCC">ราคา</td>
<td width="94" align="center" valign="middle" class="sf" bgcolor="#CCCCCC">ส่วนลด%</td>
<td width="100" align="center" valign="middle" class="sf" bgcolor="#CCCCCC">รวม</td>
</tr>
<tbody>
<tr>
<td align="center" valign="middle" bgcolor="#FFFFFF">1</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">รายการสินค้า1</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">14" X 14"</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">3</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">3</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="stock_order_member_send[]" id="id10" onkeyup="calcfunc(0)" onchange="chk_value(0)" value="" size="10" autocomplete=off /> </td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><input type="text" id="id20" name="stock_price[]" size="10" onkeyup="calcfunc(0)" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input name="Discount[]" type="text" id="Discount0" onkeyup="calcfunc(0)" value="0"
size="10" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input type="text" id="id30" onkeyup="calcfunc(0)" name="stock_price_sum[]" size="15" /></td>
<tr>
<td align="center" valign="middle" bgcolor="#FFFFFF">2</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">รายการสินค้า2</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">24" X 16"</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">1</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">1</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="stock_order_member_send[]" id="id11" onkeyup="calcfunc(1)" onchange="chk_value(1)" value="" size="10" autocomplete=off /> </td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><input type="text" id="id21" name="stock_price[]" size="10" onkeyup="calcfunc(1)" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input name="Discount[]" type="text" id="Discount1" onkeyup="calcfunc(1)" value="0"
size="10" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input type="text" id="id31" onkeyup="calcfunc(1)" name="stock_price_sum[]" size="15" /> </td>
<tr>
<td align="center" valign="middle" bgcolor="#FFFFFF"> 3</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">รายการสินค้า3</td>
<td align="center" valign="middle" bgcolor="#FFFFFF" >16" X 16" </td>
<td align="center" valign="middle" bgcolor="#FFFFFF">1</td>
<td align="center" valign="middle" bgcolor="#FFFFFF">1 </td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="stock_order_member_send[]" id="id12" onkeyup="calcfunc(2)" onchange="chk_value(2)" value="" size="10" autocomplete=off /> </td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><input type="text" id="id22" name="stock_price[]" size="10" onkeyup="calcfunc(2)" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input name="Discount[]" type="text" id="Discount2" onkeyup="calcfunc(2)" value="0"
size="10" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input type="text" id="id32" onkeyup="calcfunc(2)" name="stock_price_sum[]" size="15" /> </td>
</tr>
<tr>
<td align="center" valign="middle" bgcolor="#FFFFFF" > </td>
<td align="left" valign="middle" bgcolor="#FFFFFF" >
<input name="stock_order_generation[]" type="text" id="stock_order_generation" size="10" />
</strong></td>
<td align="center" valign="middle" bgcolor="#FFFFFF" >
<input name="stock_order_size[]" type="text" id="stock_order_size" size="10" />
</strong></td>
<td align="center" valign="middle" bgcolor="#FFFFFF" >
<input name="stock_order_member[]" type="text" id="stock_order_member" value="1" size="2" />
</span></td>
<td align="center" valign="middle" bgcolor="#FFFFFF" >
<input type="text" name="stock_order_member_rest3" id="stock_order_member_rest3" onkeyup="calcfunc(3)" value="1" size="2" />
</span></td>
<td align="center" valign="middle" bgcolor="#FFFFFF" >
<input type="text" name="stock_order_member_send[]" id="id13" onkeyup="calcfunc(3)" onchange="chk_value(3)" value="" size="10" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input type="text" id="id23" name="stock_price[]" size="10" onkeyup="calcfunc(3)" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF" ><input name="Discount[]" type="text" id="Discount3" onkeyup="calcfunc(3)" value="0"
size="10" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF" ><input type="text" id="id33" onkeyup="calcfunc(3)" name="stock_price_sum[]" size="15" /></td>
</tr>
<td align="center" valign="middle" bgcolor="#FFFFFF" > </td>
<td align="left" valign="middle" bgcolor="#FFFFFF" >
<input name="stock_order_generation[]" type="text" id="stock_order_generation" size="10" />
</strong></td>
<td align="center" valign="middle" bgcolor="#FFFFFF" >
<input name="stock_order_size[]" type="text" id="stock_order_size" size="10" />
</strong></td>
<td align="center" valign="middle" bgcolor="#FFFFFF" >
<input name="stock_order_member[]" type="text" id="stock_order_member" value="1" size="2" />
</span></td>
<td align="center" valign="middle" bgcolor="#FFFFFF" >
<input type="text" name="stock_order_member_rest" id="stock_order_member_rest" onkeyup="calcfunc()" value="1" size="2" />
</span></td>
<td align="center" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="stock_order_member_send[]" id="id1" onkeyup="calcfunc()" onchange="chk_value()" value="" size="10" autocomplete=off /> </td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><input type="text" id="id2" name="stock_price[]" size="10" onkeyup="calcfunc()" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><input name="Discount[]" type="text" id="Discount" onkeyup="calcfunc()" value=""
size="10" autocomplete=off /></td>
<td align="center" valign="middle" bgcolor="#FFFFFF"><input type="text" id="id3" onkeyup="calcfunc()" name="stock_price_sum[]" size="15" /></td>
<tr>
<td align="center" valign="middle" bgcolor="#FFFFFF"> </td>
<td align="left" valign="middle" bgcolor="#FFFFFF" >หักมัดจำ</td>
<td colspan="7" align="center" valign="middle" bgcolor="#FFFFFF" >
<input name="order_pledge" type="hidden" id="order_pledge" value="0.00"
size="10" />
0.00</td>
</tr>
<tr>
<td align="center" valign="middle" bgcolor="#FFFFFF" style="font-size: 18px; font-family: AngsanaUPC;"> </td>
<td align="left" valign="middle" bgcolor="#FFFFFF" >ค่าสี </td>
<td colspan="7" align="center" valign="middle" bgcolor="#FFFFFF" >
<span class="sf" style="font-size: 18px; text-align: left;">
<input name="color_order_name" type="hidden" id="color_order_name" value="" size="10" />
</span>
<input name="color_order" type="hidden" id="color_order" value="0.00" size="10" />
0.00</span></span></span></td>
</tr>
<tr>
<td align="center" valign="middle" bgcolor="#FFFFFF" style="font-size: 18px; font-family: AngsanaUPC;"> </td>
<td align="left" valign="middle" bgcolor="#FFFFFF" > ส่วนลดพิเศษ </span></td>
<td colspan="7" align="center" valign="middle" bgcolor="#FFFFFF">
<input name="discount_order" type="hidden" id="discount_order" value="0.00" size="10" />
0.00</span></span></td>
</tr>
</tbody>
</table>
<table width="900" border="0" align="center" cellspacing="0" bordercolor="#CCCCCC">
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF" class="af"></td>
<td width="90" height="45" align="right" valign="middle" bgcolor="#FFFFFF" class="sf" style="font-size: 18px">ราคารวม
ราคารวม vat 7</td>
<td width="5" align="center" valign="middle" bgcolor="#FFFFFF"> </td>
<td width="116" align="center" valign="middle" bgcolor="#FFFFFF"><input name="sum_not_vat" type="text" id="grandTotal2" size ="15"/>
<input name="sum_vat" type="text" id="grandTotal" size ="15"/></td>
</tr>
</table>
</table>
</form>
</table>
Tag : PHP, JavaScript, Action Script, Ajax, jQuery
|
ประวัติการแก้ไข 2014-03-28 14:38:38 2014-03-28 14:40:53 2014-03-28 14:40:56
|
|
|
|
|
Date :
2014-03-28 14:36:21 |
By :
rock_rock |
View :
790 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนะนำ
Code (PHP)
function calcfunc(i) {
var val1 = parseFloat(document.getElementById("id1" + i).value);
var val2 = parseFloat(document.getElementById("id2" + i).value);
var Discount = parseFloat(document.getElementById("Discount" + i).value);
var result = ((val1*val2)-((val1*val2)*Discount/100)) ;
if (isFinite(result)) {
document.getElementById("id3" + i).value = result;
}
}
Code (PHP)
$("input:text",tbody).keyup(function(){
var total=0;
$("td:last-child > input:text",tbody).each(function(){
if($(this).val() != '')
total = parseFloat(total) + parseFloat($(this).val());
});
Gtotal.val (( (parseFloat(total)-(parseFloat(order_pledge))) + (parseFloat(color_order))-(parseFloat(discount_order))) + ( (parseFloat(total)-(parseFloat(order_pledge))) + (parseFloat(color_order))-(parseFloat(discount_order)))*0.07 );
Gtotal2.val(( (parseFloat(total)-(parseFloat(order_pledge))) + (parseFloat(color_order))-(parseFloat(discount_order))) );
});
ในเมื่อคุณเขียนแบบ ajax&jQuery ทำไมไม่เปลี่ยนจาก javascript เป็น ajax&jquery ล่ะครับ
|
|
|
|
|
Date :
2014-03-28 15:02:11 |
By :
Ex-[S]i[L]e[N]t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 2 เขียนโดย : rock_rock เมื่อวันที่ 2014-03-28 16:14:18
รายละเอียดของการตอบ ::
สังเกตุดูบรรทัดที่ 167 มีการเรียกใช้ฟังก์ชั่น chk_value( parameter), calcfunc( parameter)
สังเกตุดูบรรทัดที่ 187 มีการเรียกใช้ฟังก์ชั่นเดียวกัน แต่ไม่มีพารามิเตอร์ แบบนี้ Error แน่นอนครับ
การตั้งชื่อแบบนี้ทำให้เขียนโปรแกรมยาก และไม่สามารถรับรู้ แถวที่เท่าไหร่/คอมลัมภ์ที่เท่าไหร่ ได้โดยง่าย (ทำให้เรางง)
id = "id1"
id = "id2"
แบบนี้พอทำเนาครับ
id = "id1_1", "id1_2", "id1_3"
id = "id2_1", "id2_2", "id2_3"
...
การตั้งชื่อแบบนี้เราสามารถรับเลยว่า มันอยู่แถวไหน/คอมลัมภ์ไหน
Row1Col1, Row1Col2, Row1Col3, ...
Row2Col1, Row2Col2, Row2Col3, ...
|
|
|
|
|
Date :
2014-03-28 18:57:50 |
By :
love9713 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันอาจจะเป็นประโยชน์สำหรับคุณครับ ในกรณีนี้อาศัย Class Name
(ผมเอามาจาก Internet ทั้งนั้นครับและเก็บรวบรวมเอาไว้อ้างอิง กันลืม)
Code (HTML)
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ตามสะดวก</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
$(document).ready(function () {
//iterate through each textboxes and add keyup
//and add handler to trigger sum event
$(".txtCol2, .txtCol3").each(function () {
$(this).keyup(function () {
calcfunc();
});
});
});
function calcfunc() {
var sum = 0;
//iterate through each textboxes and add the values
$(".txtCol2, .txtCol3").each(function () {
var c = this.value.replace(/,/g, ''); //remove thousands separator 1,200 => 1200
if (!isNaN(c) && c.length != 0) {//add only if the value is number
sum += parseFloat(c);
}
});
//.toFixed() method will roundoff the final sum to 4 decimal places
$("#sum").html(sum.toFixed(4));
}
</script>
</head>
<body>
<table width="500px" border="1" style="border-collapse: collapse; background-color: #E8DCFF">
<tr>
<td width="40px">1</td>
<td width="150px">สินค้า 1</td>
<td><input class="txtCol2" type="text" name="txt" /></td>
<td><input class="txtCol3" type="text" name="txt" /></td>
</tr>
<tr>
<td >2</td>
<td class="style1">สินค้า 2</td>
<td><input class="txtCol2" type="text" name="txt" /></td>
</tr>
<tr>
<td>3</td>
<td class="style1">สินค้า 3</td>
<td><input class="txtCol2" type="text" name="txt" /></td>
</tr>
<tr id="summation">
<td></td>
<td align="right">รวม :</td>
<td align="center"><span id="sum">0</span></td>
</tr>
</table>
</body>
</html>
|
|
|
|
|
Date :
2014-03-28 19:33:36 |
By :
love9713 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ พี่ ๆ มากเลย ครับ ทำได้ แล้ว ครับ
|
|
|
|
|
Date :
2014-03-29 13:58:40 |
By :
rock_rock |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|