javascript - 使用 jquery 更新表行中的总数

标签 javascript jquery html css html-table

我有一张 table

<table>
  <tbody>
    <tr>
      <td><input type="text" name="quantity" /></td>
      <td><input type="text" name="price" /></td>
      <td><input type="text" name="total" disabled />
    </tr>
    <tr>
      <td><input type="text" name="quantity" /></td>
      <td><input type="text" name="price" /></td>
      <td><input type="text" name="total" disabled />
    </tr>
    <tr>
      <td><input type="text" name="quantity" /></td>
      <td><input type="text" name="price" /></td>
      <td><input type="text" name="total" disabled />
    </tr>
    <tr>
      <td><input type="text" name="quantity" /></td>
      <td><input type="text" name="price" /></td>
      <td><input type="text" name="total" disabled />
    </tr>
  </tbody>
</table>

当数量或价格发生变化时,如何更新总计输入字段?

我想到了类似的东西

$('table tbody tr td').filter(':nth-child(1), :nth-child(2)').children('input').change(function() {
    $(this).parent('td').siblings('td').filter(':nth-child(3)').val(?);
});

但似乎有点不方便。

最佳答案

您可以使用:

$('table tbody tr td').find('input').keyup(function() {
  var total=0;
  total=(parseInt($(this).parent('td').siblings('td').not(':nth-child(3)').find('input').val())||0)+(parseInt($(this).val())||0);
  $(this).closest('tr').find('input:last').val(total)
});

Working Demo

关于javascript - 使用 jquery 更新表行中的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25646037/

相关文章:

javascript - 调用 javascript 函数最快的方法是什么

javascript - 使用 jquery 进行整数比较时遇到问题

javascript - 触发的背景颜色更改不会触发

html - 我应该如何处理解决方案来开发一个似乎具有超出 CSS/HTML 功能的功能的静态响应式 HTML 文件?

javascript - Jquery 乘法不起作用?但加法有效

javascript - 将一个大整数编码为 base62

javascript - 未捕获的语法错误 : Unexpected token ':' with Webpack + TypeScript + React Redux

javascript - 函数未被调用

jquery - 负边距点击应该不起作用

javascript - jQuery - .removeClass 不起作用