在单元格中添加值并放在总计字段中

时间:2013-03-06 17:57:03

标签: javascript

我正在尝试将用户输入的值添加到每行的Slots单元格中。我想得到总数并将其放在SlotsTotals字段中。但是,代码根本不起作用。

function checkRow(){
    var table = document.getElementById('tblSample');

    for (var i = 0, row; row = table.rows[i]; i++){
            document.getElementById('SlotsTotals').value += document.getElementById('txtSlots' + i).value;
    }
 }

我正在动态地向表中添加行。用户将值输入到插槽字段中。我想遍历表格以获得所有值的总和,然后将总数添加到SlotsTotal字段。

这是我添加行的一些html。

function addRow() {
    //function ValidateRow(){alert('error');}
    //function insertRow();

    var tbl = document.getElementById('tblSample');
    var lastRow = tbl.rows.length;  
    // if there's no header row in the table, then iteration = lastRow + 1
    //var iteration = lastRow;
    var iteration = lastRow;
    var row = tbl.insertRow(lastRow);

    var cell5 = row.insertCell(6);            
    var element5 = document.createElement('input');            
    element5.type = 'text';            
    element5.name = 'txtSlots' + iteration; 
    element5.id = 'txtSlots' + iteration;   
    element5.size = 10;
    cell5.appendChild(element5);
  }

1 个答案:

答案 0 :(得分:0)

你可以发布一些你的HTML代码吗

也许试试

document.getElementById('SlotsTotals').innerHTML

http://www.w3schools.com/jsref/met_doc_getelementbyid.asp

__

也许这可以帮助:)

<table id='tblSample' style='border: 1pt, solid, black;'>
  <tr>
    <td>
      ...A1
    </td>
    <td>
      ...A2
    </td>
    <td>
      ...A3
    </td>
    <td>
      ...A4
    </td>
    <td>
      ...A5
    </td>
    <td>
      <input type='text' id='txtSlots1'>
    </td>
  </tr>
  <tr>
    <td>
      ...B1
    </td>
    <td>
      ...B2
    </td>
    <td>
      ...B3
    </td>
    <td>
      ...B4
    </td>
    <td>
      ...B5
    </td>
    <td>
      <input type='text' id='txtSlots2'>
    </td>
  </tr>
  <tr>
    <td>
      ...C1
    </td>
    <td>
      ...C2
    </td>
    <td>
      ...C3
    </td>
    <td>
      ...C4
    </td>
    <td>
      ...C5
    </td>
    <td>
      <input type='text' id='txtSlots3'>
    </td>
  </tr>
  <tr>
    <td>
      ...D1
    </td>
    <td>
      ...D2
    </td>
    <td>
      ...D3
    </td>
    <td>
      ...D4
    </td>
    <td>
      ...D5
    </td>
    <td>
      <input type='text' id='txtSlots4'>
    </td>
  </tr>
 <tr>
    <td>
      ...E1
    </td>
    <td>
      ...E2
    </td>
    <td>
      ...E3
    </td>
    <td>
      ...E4
    </td>
    <td>
      ...E5
    </td>
    <td>
      <input type='text' id='txtSlots5'>
    </td>
  </tr>
</table>
<input type='button' onclick="test();" value="test">
<input type='text' id='SlotsTotals'>

<script>
  function test(){
    var table = document.getElementById('tblSample');
    res = document.getElementsByTagName('input');
    sum = 0
    for (var i = 0; i < res.length; i++){
      s = res[i].id
      if((String(s).indexOf("txtSlots") > -1)&&(res[i].type == 'text'))
      {
        sum += parseInt(res[i].value)
      }
    }
    document.getElementById('SlotsTotals').value = sum
  }
</script>