通过 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);
}
试图根据文本框值找出更新数据库值的最佳方法。数据库有一个值 "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);
}