【问题标题】:One page two html table get specific tabels column sum一页两个html表格获取特定表格列总和
【发布时间】:2017-01-24 04:11:36
【问题描述】:

我在一页中有两个表格。

第一张桌子:table id="yeni"

第二张表:table id="eski"

我写了一个函数来对特定表的特定列求和。

各列的唯一区别是 IDS。例如:

第一行 1_1、1_2、1_3

第二行 2_1、2_2、2_3

 function sum(columno,table_id){

    var cost=0;
    var rowcount=5
    for (i=1 ; i<rowcount;i++){ 

             var t =document.getElementById( i + "_" + columno);

    cost=cost+t.value;
    }

return cost;

}

如何在函数中使用表ID的参数来识别表?

我的 HTML 表格:

<table id="yeni" style="border: 1px solid rgb(0, 0, 0);">
   <tr id="1">
      <td><input id="1_1" style="width: 70px; font-size: 11px;"></td>
      <td><input id="1_2" style="width: 80px; font-size: 11px;"></td>
      <td><input id="1_3" style="width: 80px; font-size: 11px;"></td>
      <td><input id="1_4" style="width: 80px; font-size: 11px;"></td>
      <td><input id="1_5" style="width: 80px; font-size: 11px;"></td>
      <td><input id="1_6" style="width: 80px; font-size: 11px;"></td>
      <td><input id="1_7" style="width: 80px; font-size: 11px;"></td>
      <td><input id="1_8" type="hidden" value="75" style="width: 80px; font-size: 11px;"></td>
      <td><button></button></td>
   </tr>
   <tr id="2">
      <td><input id="2_1" style="width: 70px; font-size: 11px;"></td>
      <td><input id="2_2" style="width: 80px; font-size: 11px;"></td>
      <td><input id="2_3" style="width: 80px; font-size: 11px;"></td>
      <td><input id="2_4" style="width: 80px; font-size: 11px;"></td>
      <td><input id="2_5" style="width: 80px; font-size: 11px;"></td>
      <td><input id="2_6" style="width: 80px; font-size: 11px;"></td>
      <td><input id="2_7" style="width: 80px; font-size: 11px;"></td>
      <td><input id="2_8" type="hidden" value="30.68" style="width: 80px; font-size: 11px;"></td>
      <td><button></button></td>
   </tr>
   <tr id="3">
      <td><input id="3_1" style="width: 70px; font-size: 11px;"></td>
      <td><input id="3_2" style="width: 80px; font-size: 11px;"></td>
      <td><input id="3_3" style="width: 80px; font-size: 11px;"></td>
      <td><input id="3_4" style="width: 80px; font-size: 11px;"></td>
      <td><input id="3_5" style="width: 80px; font-size: 11px;"></td>
      <td><input id="3_6" style="width: 80px; font-size: 11px;"></td>
      <td><input id="3_7" style="width: 80px; font-size: 11px;"></td>
      <td><input id="3_8" type="hidden" value="16.56" style="width: 80px; font-size: 11px;"></td>
      <td><button></button></td>
   </tr>
   <tr id="4">
      <td><input id="4_1" style="width: 70px; font-size: 11px;"></td>
      <td><input id="4_2" style="width: 80px; font-size: 11px;"></td>
      <td><input id="4_3" style="width: 80px; font-size: 11px;"></td>
      <td><input id="4_4" style="width: 80px; font-size: 11px;"></td>
      <td><input id="4_5" style="width: 80px; font-size: 11px;"></td>
      <td><input id="4_6" style="width: 80px; font-size: 11px;"></td>
      <td><input id="4_7" style="width: 80px; font-size: 11px;"></td>
      <td><input id="4_8" type="hidden" value="30.68" style="width: 80px; font-size: 11px;"></td>
      <td><button></button></td>
   </tr>
   <tr id="5">
      <td><input id="5_1" style="width: 70px; font-size: 11px;"></td>
      <td><input id="5_2" style="width: 80px; font-size: 11px;"></td>
      <td><input id="5_3" style="width: 80px; font-size: 11px;"></td>
      <td><input id="5_4" style="width: 80px; font-size: 11px;"></td>
      <td><input id="5_5" style="width: 80px; font-size: 11px;"></td>
      <td><input id="5_6" style="width: 80px; font-size: 11px;"></td>
      <td><input id="5_7" style="width: 80px; font-size: 11px;"></td>
      <td><input id="5_8" type="hidden" style="width: 80px; font-size: 11px;"></td>
      <td><button></button></td>
   </tr>
</table>

【问题讨论】:

  • 你能给我们看一些html吗?请从两张表中取一个样本
  • sum(2,'yeni'); 而不是在你的sum() 函数中找到所有tds 的table_id 就像这样$('#'+table_id).find('#'+i + "_" + columno) 并且不要使用不唯一的ID,最好使用@987654330 之类的东西@
  • 我知道没有纯javascript解决方案

标签: javascript html-table


【解决方案1】:

对于两个表的单元格 id 具有类似于第一行 1_1,1_2,1_3 的规则 第二行 2_1,2_2,2_3 以此类推

这是个问题,任何元素的id属性对于整个网页都必须是唯一的。仅仅因为您的表格具有不同的id 值,并不意味着它有助于区分单元格行。

您需要在每个表格单元格前加上表格 id 值(例如 &lt;td&gt;&lt;input id="eski_4_4" style="width: 80px; font-size: 11px;"&gt;&lt;/td&gt;),或者以不同方式查找表格单元格(例如,使用 javascript 使用它们是表格的子项这一事实)。

【讨论】:

    【解决方案2】:

    这可能对你有帮助

    sum(columno,table_id){
    
    var cost=0;
    var rowcount=5
    for (i=1 ; i<rowcount;i++){ 
           var t = $(table_id).find("#" + i + "_" + columno);
           cost=cost+t.value;
    }
    

    退货成本; }

    【讨论】:

    • 可以给纯javascript吗
    猜你喜欢
    • 2017-10-27
    • 2018-04-23
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 2023-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多