我从数据库中填充了一个动态表。我的代码如下:
<table class="table table-bordered" id="tb">
<thead>
<tr style="BACKGROUND-COLOR: DarkGrey ">
<th colspan="5" style="text-align:Center;">Objectives</th>
</tr>
<tr class="tr-header">
<th style="text-align:Center;width:10%;">ID</th>
<th colspan="2">Targets</th>
<th style="text-align:Center;width:1%;" rowspan="2">Weightage %</th>
</tr>
<tr>
<th> </th>
<th> </th>
<th style="width:10%;"> Date </th>
</tr>
</thead>
<tbody
<?PHP
$myquery = "select subtotals,Serial_Number,Targets,Weightage, row_number,edit_details
from Table1 WHERE Serial_Number='$Serial_Number' ORDER BY Row_Number asc";
$fetched = sqlsrv_query($conn, $myquery);
if ($fetched === false) {
die(print_r(sqlsrv_errors(), true));
}
while ($res = sqlsrv_fetch_array($fetched, SQLSRV_FETCH_ASSOC)) {
$Weightage = $res['Weightage'];
$Targets = $res['Targets'];
$Row_Number = $res['row_number'];
$subtotals = $res['subtotals'];
?>
<tr id="<?php //echo $id ?>" class="tredit">
<td class="edittbl">
<b><input type="text" name="ID[]" class="ASDF form-control" id="Row<?php echo $Row_Number ?>" value="<?php echo $Row_Number; ?>" readonly></input></b>
</td>
<?PHP
if ($Objectives == "SubTotal") {
?>
<td class="edittbl" colspan="3">
<b><input type="text" name="Subtotal[]" class=" ASDF form-control" value="<?php echo $Objectives; ?>" style="text-align:center;" readonly ></input></b>
</td>
<td class="edittbl">
<b><input type="text" name="SubTotal_Weightage[]" class="ASDF form-control" value="<?php echo $Weightage; ?>" readonly></input></b>
</td>
<?PHP
} else {
?>
<td class="edittbl">
<input type="text" name="Targets[]" class="ASDF form-control" value="<?php echo $Targets; ?>" ></input>
</td>
<td class="edittbl">
<input type="text" name="Weightage[]" class="ASDF form-control" value="<?php echo $Weightage; ?>"></input>
</td>
<?PHP } ?>
</tr>
<?PHP } ?>
</tbody>
</table>
我试图在值变化时对小计进行自动计算,这样当权重发生变化时,小计自动计算并给出新值。
这些重量是动态的,小计的重量是固定的。我如何确保如果前四个有任何变化,它会改变第一个小计,如果第二个和第三个有任何变化,它会改变第二个小计吗?
非常感谢任何建议。
答案 0 :(得分:0)
在输入标记上添加onchange属性并调用js函数并在那里进行计算: http://www.w3schools.com/jsref/event_onchange.asp
另一种方法是使用js更改功能。用你的输入绑定它 https://api.jquery.com/change/
答案 1 :(得分:0)
首先,为什么不将控制器逻辑和模型与视图分开?它会让你的代码更清晰。 我假设根据您粘贴的代码片段,通过表单字段根据用户输入更改权重。老实说,我不明白你如何计算小计,但我认为你应该为此实现一个AJAX风格的解决方案,这样当权重发生变化时,会向模型发送一个请求,重新计算小计,或者通过从数据库中取出它来重新计算小计。或者来自某种形式的逻辑。