-2

我正在研究一个简单的 jQuery 函数,该函数将从表中的 2 个单元格中获取一些输入字段的值,然后执行一些简单的数学运算来计算差异,然后用差异更新另一个单元格值。

这是我的功能:

$(document).ready(function(){

    $('#Calculate').click(function(){

    var nextYearTotal = $("#textfield6").text();
    var lastYearTotal = $("#textfield1").text();

    nextYearTotal = Number(nextYearTotal);
    lastYearTotal = Number(lastYearTotal);

    var updatedTotal = nextYearTotal - lastYearTotal;

    $('#textfield7').html(updatedTotal);
    });
});

无论 textfield6 和 textfield1 输入字段中的值是什么,我都会在 textfield7 单元格中得到“0”作为结果。

我是 jQuery 新手 - 如果有人能指出我的错误,我将不胜感激。当我单击表格行中的按钮时,将调用此函数。

4

3 回答 3

1

使用值而不是文本。

var nextYearTotal = Number($("#textfield6").val());
var lastYearTotal = Number($("#textfield1").val());

查看工作演示

$(document).ready(function() {
    $('#Calculate').click(function() {
        var nextYearTotal = Number($("#textfield6").val());
        var lastYearTotal = Number($("#textfield1").val());

        var updatedTotal = nextYearTotal - lastYearTotal;

        $('#textfield7').html(updatedTotal);
    });
});​

编辑
对原始帖子的评论澄清了源字段是输入,但目标字段只是一个单元格。

根据评论,我更新了演示和代码以确保完整性。

于 2012-07-31T15:15:10.847 回答
0

尝试这个:

$(document).ready(function(){

    $('#Calculate').click(function(){

    var nextYearTotal = parseFloat($("#textfield6").text());
    var lastYearTotal = parseFloat($("#textfield1").text());

    var updatedTotal = nextYearTotal - lastYearTotal;
    if (!(isNaN(updatedTotal)))
         $('#textfield7').html(updatedTotal);
    });
});

应该工作假设你有 3<td>的 ID 的"textfield1","textfield6""textfield7"一个按钮或链接id="Calculate"

于 2012-07-31T15:10:15.687 回答
0
$(document).ready(function(){

$('#Calculate').click(function(){

var nextYearTotal = $("#textfield6").val();
var lastYearTotal = $("#textfield1").val();

nextYearTotal = Number(nextYearTotal);
lastYearTotal = Number(lastYearTotal);

var updatedTotal = nextYearTotal - lastYearTotal;

$('#textfield7').html(updatedTotal);
});
});
于 2012-07-31T15:17:12.250 回答