更改单元格中浮点的值

时间:2013-07-17 14:18:12

标签: javascript

我有一个HTML表,其中包含一个值以及每行的复选框。 当我单击该复选框时,它会激活一个脚本,该脚本会将此值添加到另一个固定单元格中。如果选中该复选框,则会添加该数字,如果未选中,则会减去该数字。

function val_sel_achat(val, id)
{
    if (document.getElementById(id).checked)
    {
        document.getElementById('res_achat').innerHTML += val;
    }
    else
    {
        document.getElementById('res_achat').innerHTML -= val;
    }
}

它主要运行良好,除了它似乎连接链而不是添加数字。 因此,如果我选中一个val = 100的方框,然后取消选中它,它会显示100,然后是0,这没关系。 但如果我检查两个不同的方框,如100和25,它会显示10025。

我如何更改代码以便显示125代码?

感谢。

2 个答案:

答案 0 :(得分:1)

function val_sel_achat(val, id)
{
    var x = document.getElementById('res_achat').innerHTML;
    if (document.getElementById(id).checked)
    {
        document.getElementById('res_achat').innerHTML = parseFloat(x) + val;
    }
    else
    {
        document.getElementById('res_achat').innerHTML = parseFloat(x) - val;
    }
}

答案 1 :(得分:0)

使用.parseFloat()

function val_sel_achat(val, id) {
    var inner = document.getElementById('res_achat').innerHTML;
    if (document.getElementById(id).checked) {
        document.getElementById('res_achat').innerHTML = parseFloat(inner) + parseFloat(val);
    } else {
        document.getElementById('res_achat').innerHTML = parseFloat(inner) - parseFloat(val);
    }
}

不使用复选框fiddle

工作的示例