1

我有一个 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?

谢谢。

4

2 回答 2

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;
    }
}
于 2013-07-17T14:34:33.967 回答
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);
    }
}

没有复选框小提琴的示例

于 2013-07-17T14:19:52.657 回答