比如  个数    单价    总价
        2      50      100
        3      40      120(动态生成的行 id 为_sum[2])
        4      50      200(动态生成的行 id 为_sum[3])
id 格式都为_sum[i] 
最后还有个总计金额  是把每行的总价做求和处理
请教如何把这些总价求和操作  我现在是不能抓到这些动态的id

解决方案 »

  1.   

    遍历行就行了
    <table border="1" id="tb">
    <tr><td>个数</td><td>单价</td><td>总价</td></tr>
    <tr><td>2</td><td>50</td><td></td></tr>
    <tr><td>3</td><td>40</td><td></td></tr>
    <tr><td>4</td><td>50</td><td></td></tr>
    </table>
    <script type="text/javascript">
        window.onload = function () {
            var tb = document.getElementById('tb'), tr;
            for (var i = 1, j = tb.rows.length; i < j; i++) {
                tr = tb.rows[i];
                tr.cells[2].innerHTML = parseFloat(tr.cells[0].innerHTML) * parseFloat(tr.cells[1].innerHTML);
            }
        }
    </script>
      

  2.   


    var sum = 0;
    $("[id^='_sum['][id$=']']").each(function() {
        sum = sum + parseFloat($(this).find("nth-child(3)").text());
    });
    alert('sum is '+sum);
      

  3.   

    可以换种思路,不取ID也是可以的,要取ID就循环去拼接取<!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">
    <head>
        <title></title>
        <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
        <script>
            $(function () {
                $("table tr").each(function () {
                    var num1 = $(this).find("td:nth-child(1)").text();
                    var num2 = $(this).find("td:nth-child(2)").text();
                    $(this).find("td:nth-child(3)").text(parseFloat(num1 * num2));
                });
                  
            });
     
        </script>
    </head>
        <body>
             
            <table>
                <th>第一列</th><th>第二列</th><th>求和</th>
                <tr>
                    <td>5</td>
                    <td>2</td>
                    <td></td>
                </tr>
                <tr>
                    <td>3</td>
                    <td>2</td>
                    <td></td>
                </tr>
                <tr>
                    <td>2</td>
                    <td>2</td>
                    <td></td>
                </tr>
            </table>
            输出结果为:
            <p id="result">
                第一列    第二列    求和
                5     2     10
                3     2     6
                2     2     4
            </p>
        </body>
    </html>
      

  4.   


    总合,那不更简单var total=0;   
    $(function () {
                $("table tr").each(function () {
                    
                    total +=parseFloat($(this).find("td:nth-child(2)").text());//假设这是你要求总合的每一行的数据
                     
                });
    alert(total)
                   
            });
      

  5.   

    能给个js的吗? 那个tr.cells[0].innerHTML 不好使
      

  6.   

    var sum=0;
    $(function () {
      $("table tr").each(function () {
       var td=$(this).find("td");
      sum=sum+parseFloat(td.eq(2).html());
     }
    }
    注:td.eq(2) 表示每行第三个单元格