jQuery - 在当前行内按类选择元素

时间:2015-11-08 21:54:13

标签: javascript php jquery mysql html5

我正在使用数据库中的值生成一个表,每个列的总数显示在表的末尾。 我想让用户选择删除他们不想要的行,并相应地进行总更改。

由于表单将被提交,我已经添加了隐藏的输入元素。我希望能够获取正在删除的行中的列的值,并从总计中减去它,然后显示新的总计。

我认为最好的方法是为每个列提供一个类名,并为特定的行获取该类的值,因为它正在被删除。

这是我的表结构

    <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()标记,但我不确定。

1 个答案:

答案 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
}

希望这有帮助。