[英]how to retain dynamically added table rows and update the values in the database
[英]how to count the values of the values of the dynamically added table rows using jquery
嗨,我有一個窗體,當用戶單擊添加按鈕時,它會從外部文件動態添加表格行,我什至要對我的其中一個字段qty進行計算,我想計算qty的值並顯示到目前為止,我已經寫了一個代碼來計算,但似乎沒有用,有人可以幫我嗎
這是我的劇本
$(document).ready(function(){
$('#detail').on('keyup', '.qty', calculateRow());
$('#addnew').click(function(){
var ctr = $('#items').val();
ctr++;
$.post('job_srch.php', {ctr : ctr}, function(data) {
$(data).appendTo('#detail');
$('#items').val(ctr);
});
});
function calculateRow() {
alert("GAYA");
console.log("2");
var add = 0;
$(".qty").each(function() {
add += parseFloat(this.value);
if (isNaN(add)) {
$('#total').val("0");
} else {
$('#total').val(add.toFixed(2));
}
});
}
});
這是我的PHP
<?php
session_start();
require("includes/dbconnect.php");
include ('includes/function.php');
$zdb = $_SESSION["zdbyear"];
mysql_select_db($zdb);
if ($_REQUEST["ctr"]){
$ctr = $_REQUEST["ctr"];
//echo '<link rel="stylesheet" href="css/chosen.css" />';
echo '<tr>
<td align="center"><input type="text" size="6" maxlength="6" maxlength="6" name="srno_'.$ctr.'" class="form-input-oth"/></td>
<td align="center"><select data-placeholder="Party" style="width:300px;" name="item_'.$ctr.'" class="chzn-select-deselect" >
<option value=""></option>';
$res = mysql_query("SELECT * FROM `items`") or die(mysql_error());
while ($row = mysql_fetch_array($res)) {
echo "<option value='$row[accode]'>$row[name]</option>";
}
echo '</select></td>';
echo '<td align="center"><input type="text" id="qty" size="6" maxlength="9" maxlength="6" name="qty_'.$ctr.'" class="qty form-input-amt"/></td>
</tr>';
}
else{
echo "ERROR";
}
?>
這是我的桌子
<table id="detail" border="1px" width="30%">
<tr>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">Sr No.</font><span></span></label></td>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">item</font><span></span></label></td>
<td width="130px" align="center"><label for=""><font color="#0099FF" size="3px">Quantity</font><span></span></label></td>
</tr>
</table>
我發現的第一個也是最明顯的錯誤是命令“ add + = parseFloat(this.value);”。 不起作用。
正確的功能如下:
function calculateRow() {
alert("GAYA");
console.log("2");
var add = 0;
$(".qty").each(function() {
add += parseFloat($(this).val()); // <-- changed from this.value
if (isNaN(add)) {
$('#total').val("0");
} else {
$('#total').val(add.toFixed(2));
}
});
}
您還必須更改以下行
$('#detail').on('keyup', '.qty', calculateRow());
至
$('#detail').on('keyup', '.qty', calculateRow);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.