通过 Javascript 或控制器的自动值?

Automatic value through Javascript or Controller?

试图根据文本框值找出更新数据库值的最佳方法。数据库有一个值 "Amount Added",然后还有 "Money"。 "Money" 列是成本,它取决于 Ammount 附加值。

我想要的是在更新 "Ammount Added" 中的值后自动更新 "Money" 的文本框,或者让控制器进行数学运算并在单击提交后输入值。

我已经尝试通过 JavaScript 来做到这一点(真的不是我的强项),我是这样做的,在另一个 post 这里找到。

    $(document).ready(function Update() {
    var one = document.GetElementById('AmountAdded'),
        two = document.GetElementById('Money');

    two.value = parseInt(one.value) * 2 / 100;
})

这没有用,但我是否走在正确的轨道上,这是最好的方法吗?还是我应该考虑通过控制器来实现?

如果有任何不同,我正在使用 Entity Framework

更新 我将 JavaScript 移动到布局页面,因为它在视图中(如果这有意义的话),我意识到它在正文中?,并根据 Dhaval 的建议,将 "GetElementById" 更改为 "getElementById".

首先重新加载将 "Money" 值设置为 NaN,因此我将默认值设置为 0,但之后更改它不会更改 Html.EditorFor.[=12= 中的值]

有什么想法吗?

你好像用的是jquery,你可以试试下面的代码:

$(document).ready(function(){
    $('#AmountAdded').on('change',function(){
        var cost = $('#AmountAdded').val() * 2 / 100;
        $('#Money').val(cost);
    })
})
$(document).ready(
    function(){
        Update();

        $('#AmountAdded, #Money')
            .change(function(){
                Update();
         });
    }
);

function Update() {
    var one = $('#AmountAdded'),
    two = $('#Money');

    two.val(parseInt(one.val()) * 2 / 100);
}