我可以使用 JS 在另一個 td 中獲取 td 值和輸入值的 SUM 嗎?

Hazem El-behairy

我有一個表,它包含一個 td 值和另一個 td 中的輸入,它也包含一個值。

我想得到 td 值和包含輸入的另一個 td 的總和。

這是代碼,但它不能完美地工作:

let gross = 0;
$(".total").each(function() {
  gross += parseFloat($(this).val());
});
document.getElementById('gross_amount').innerHTML = gross;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <thead>
    <tr>
      <td>#</td>
      <td>Name</td>
      <td>Age</td>
      <td>Salary</td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Hazem</td>
      <td>20</td>
      <td class="total">50.00</td>
    </tr>
    <tr>
      <td>2</td>
      <td>John</td>
      <td>25</td>
      <td><input class="total" type="text" value="60.00" /></td>
    </tr>
  </tbody>
  <div id="gross_amount"></div>
</table>

羅里·麥克羅森

問題是因為一個元素是 atd而另一個是 an input,並且只有input元素具有value要讀取屬性val()

要解決此問題,您可以使用以下元素檢測元素類型,tagName然後根據該元素檢索text()val()

let gross = 0;
$(".total").each(function() {
  let $el = $(this);
  gross += parseFloat(this.tagName == 'INPUT' ? $el.val() : $el.text());
});
$('#gross_amount').text(gross.toFixed(2));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <thead>
    <tr>
      <td>#</td>
      <td>Name</td>
      <td>Age</td>
      <td>Salary</td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Hazem</td>
      <td>20</td>
      <td class="total">50.00</td>
    </tr>
    <tr>
      <td>2</td>
      <td>John</td>
      <td>25</td>
      <td><input class="total" type="text" value="60.00" /></td>
    </tr>
  </tbody>
</table>
<div id="gross_amount"></div>

請注意,#gross_amountdiv 需要在<table>元素之外才能使 HTML 有效。此外,如果您已經加載了 jQuery,那麼您最好保持代碼一致並使用它來更新#gross_amount元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 jquery 將表 td 列中的文本/數字複製到另一個 td 列中的輸入值?

取一个输入值,乘以<td>的内容,并使用jQuery在另一个<td>中显示结果

使用js序列化<td>中的值是可能的?

我可以使用從另一個 .py 文件導入的函數在 fastapi 中創建服務嗎?

使用JS脚本更改Td类的值

如何使用jQuery从多个<td>中获取<td>之一的值?

是否可以使用onclick获得<td>元素的值?

下面是輸入和輸出,以及我所做的代碼片段。我們可以編寫一個函數來動態獲取 id 並創建輸出嗎?

如何检查 <td> 中的值是否为空并根据另一个 <td> 中的值显示文本?

在 MySQL 中,我们可以使用 COUNT 和 SUM 值使用单个 SELECT 计算另一个输出列中的值吗?

如何使用jquery捕获td元素中的值,并根据捕获的td的值更改其他td元素的背景色?

我可以在 JavaScript 中獲取生成器的當前值嗎?

我可以在 groupby apply 中獲取分組列的值嗎?

从 html 如何使用 js 或 jquery 删除重复的 td 标记值

如何為每個 td 獲取不同的名稱?

我可以使用正則表達式搜索從 Logfile 中獲取功能寫入計數嗎?

有没有一种方法可以使用 rgba 颜色 [0, 15, 31, 0.4 ] 在 vue js 中设置 TD 元素的样式

从反应中读取td的值

更新表中的 Td 值

使用XPath提取td值

使用数字增量将 <td> 值复制到下一个 <td>

我想在一个td中放置一个动态值,在一个表中有很多td,但是我想将该值放置在一个特定的td中

html使用cheerio js和node js抓取td元素

使用 td 内的按钮更改 td 值的 jQuery 函数

Javascript,在上一td中获取输入值

我需要更改一些在輸入框中具有相同innerhtml的表td類

角度2:使用另一个组件的静态<td>和动态<td>呈现表格的组件

我可以使用 gspread 批量更新電子表格中的多個工作表嗎?

如何使用JQuery根据第一个TD中存储的表的值隐藏第二个TD中存储的图像?