通过Javascript或Controller自动赋值?

时间:2015-04-21 08:55:11

标签: javascript c# sql .net model-view-controller

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

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

我已尝试通过JavaScript(真的不是我的强项)来做这件事,我已经这样做了,在这里的另一篇文章中找到了。

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

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

那还没有奏效,但我是否正确地走上正轨,这是最好的方式吗?或者我应该通过控制器来看它吗?

如果它有任何区别,我使用实体框架

UPDATE 我将JavaScript移动到布局页面,因为它在视图中(如果有意义的话)在身体中,并且在Dhaval的推荐下,改变了" GetElementById"到" getElementById"。

首先重新加载" Money"值为NaN,因此我将默认值设置为0,但在不更改Html.EditorFor中的值后更改该值。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

好像你正在使用jquery,你可以尝试下面的代码:

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

答案 1 :(得分:0)

$(document).ready(
    function(){
        Update();

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

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

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