我正在使用数据库中的值生成一个表,每个列的总数显示在表的末尾。 我想让用户选择删除他们不想要的行,并相应地进行总更改。
由于表单将被提交,我已经添加了隐藏的输入元素。我希望能够获取正在删除的行中的列的值,并从总计中减去它,然后显示新的总计。
我认为最好的方法是为每个列提供一个类名,并为特定的行获取该类的值,因为它正在被删除。
这是我的表结构
<tbody>';
for($i=0;$i<count($alto);$i++){
echo' <tr>
<td>'.$key[$i].'</td>
<td>'.$talk[0][$i].'<input type="hidden" class="bate" value="'.$talk[0][$i].'" name="0'.$key[$i].'"/></td>
<td>'.$talk[1][$i].'<input type="hidden" class="vito" value="'.$talk[1][$i].'" name="1'.$key[$i].'"/></td>
<td>'.$talk[2][$i].'<input type="hidden" class="hist" value="'.$talk[2][$i].'" name="2'.$key[$i].'"/></td>
<td><button class="delete" type="button">Delete</button><td>
</tr>';
}
echo '</tbody>
根据我对jquery的有限知识,我想我需要这样的东西:
var exp = $(this).val('.vito');
可能我有遍历问题,我需要在某处添加.parents()
标记,但我不确定。
答案 0 :(得分:0)
创建计算表总数的函数calculate_total()
,并在删除行后调用它:
function calculate_total(){
var bate_total, vito_total, hist_total = 0;
$("table").find('tr').each(function(){
bate_total += parseInt( $(this).find('.bate').val() );
vito_total += parseInt( $(this).find('.vito').val() );
hist_total += parseInt( $(this).find('.hist').val() );
});
//Here you can assign the new totals to the columns that contain totals values
}
希望这有帮助。