2

这里有点 jQuery newb,但我最近有一个项目,我希望能够减去同一系列中相邻表 td 元素之间的值。

例子:

    <table>
      <tr>
       <td colspan='3'>Year 2008</td>
      </tr>
      <tr>
        <td>Quarter 1</td><td>Quarter 2</td><td>Change Q1-Q2</td>
      </tr>

      <tr>
        <td>Quarter 1 Val</td><td>Quarter 2 Val</td><td>Quarter 2 - Quarter 1</td>
      </tr>
      <tr>
        <td id='y1q1'>2</td><td id='y1q2'>6</td><td id='dy1q1q2'>4</td>
      </tr>
    </table>

所以想法是用 (elemid: y1q2.value - elemid: y1q1.value) 填充元素 id='d1y1q2'。

我知道这应该在 SQL 级别处理,但是数据集很大,数据库的性质不能很好地处理查询中的这些计算。

任何帮助深表感谢!jquery DataTables 插件可以处理这种事情吗?

4

3 回答 3

3
var sub = parseInt($('#y1q2').text(), 10) - parseInt($('#y1q1').text(), 10);
$('#dy1q1q2').text(sub);

如果你是id动态的,那么:

var lastTR = $('table tr:last'),
    tdSecond = parseInt( $('td',lastTR).eq(1).text(), 10 ),
    tdFirst = parseInt( $('td', lastTR).eq(0).text(), 10 ),
    sub = tdSecond - tdFirst;

$('td:last', lastTR).text(sub);

演示

如果您的值也可以是 Float ,那么您可以使用.parseFloat()

于 2012-06-13T15:08:35.383 回答
1

这样的事情怎么样?

var y1q1Val = parseFloat($('#y1q1').text());
var y1q2Val = parseFloat($('#y1q2').text());
var newVal = y1q2Val - y1q1Val;

$('#dy1q1q2').text(newVal);

当然,您可以根据需要将其最小化...

于 2012-06-13T15:11:18.783 回答
0
var a = document.getElementById('y1q2').innerHTML;
var b = document.getElementById('y1q1').innerHTML;
document.getElementById('d1y1q2').innerHTML = a+b;

假设您在这些列中只有整数

于 2012-06-13T15:11:06.420 回答