计算并显示上一个td的值

问题描述:

目标:
通过选择行计算并显示tr中最后一个td的正确答案。例如,如果我选择第二行,我会得到值44,它应该应用在行的最后一个td中。计算并显示上一个td的值

问题:
我知道如何在JavaScript中做到这一点,但在jQuery中。

需要关于jQuery源代码的帮助。

// fullmetalboy


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 

     <title>index</title> 

    <SCRIPT language="javascript"> 
     function addRow(tableID) { 

      var table = document.getElementById(tableID); 

      var rowCount = table.rows.length; 
      var row = table.insertRow(rowCount); 

      var cell1 = row.insertCell(0); 
      var element1 = document.createElement("input"); 
      element1.type = "checkbox"; 
      cell1.appendChild(element1); 

      var cell2 = row.insertCell(1); 
      cell2.innerHTML = rowCount + 1; 

      var cell3 = row.insertCell(2); 
      cell3.innerHTML = "22"; 

      var cell4 = row.insertCell(3); 
      cell4.innerHTML = ""; 


     } 

     function deleteRow(tableID) { 
      try { 
      var table = document.getElementById(tableID); 
      var rowCount = table.rows.length; 

      for(var i=0; i<rowCount; i++) 
      { 
       var row = table.rows[i]; 
       var chkbox = row.cells[0].childNodes[0]; 

       if(null != chkbox && true == chkbox.checked) 
       { 
        var sdf = 23; 


        //table.deleteRow(i); 
        //rowCount--; 
        //i--; 
       } 

      } 
      }catch(e) { 
       alert(e); 
      } 
     } 

    </SCRIPT> 


    </head> 

    <body> 

    <INPUT type="button" value="Add Row" onclick="addRow('dataTable')" /> 

    <INPUT type="button" value="Calculate selected row" onclick="deleteRow('dataTable')" /> 

    <TABLE id="dataTable" width="350px" border="1"> 
     <TR> 
      <TD><INPUT type="checkbox" name="chk"/></TD> 
      <TD>1</TD> 
      <TD>22</TD> 
      <TD></TD>    
     </TR> 
    </TABLE>   



    </body> 
</html> 
+0

这个问题太模糊,你没有2行,如果你添加了一个,我会假设你想显示tot在你选择的tr的最后td的第三列迄今为止。但是有太多的假设来真正回答你的问题。 – Johan

你可以这样做(你可以检查多个栏目,结果被计算为每一行):

$(document).ready(function(){ 
    $('#calculate').click(function(){ 
     $('input:checkbox:checked').each(function(){ 
      var first = parseInt($(this).closest('td').next('td').text(), 10); 

     var sec = parseInt($(this).closest('td').next('td').next('td').text(), 10); 
      var result = (first*sec); 
      $(this).closest('tr').find('td:last').html(result) 

     }); 
    }); 
}); 

Fidlle这里:http://jsfiddle.net/D2uVz/