所以我试图让两个输入字段相互计算它们的值。到目前为止,这是我的代码:
function strToNumber (str) {
return Number(str.replace(/\D/g,''));
}
var number_2_calc;
var number_1 = strToNumber($("#number_1").val());
var number_2 = strToNumber($("#number_2").val());
$("#number_2").focusout(function(){
if(number_2 == 0) {
$("#number_2").val("");
} else {
number_2_calc = number_2 +(number_1 * 0.1);
$("#number_2").val(number_2_calc);
}
});
$("#number_1").focusout(function() {
if(number_2 == 0) {
$("#number_2").val("");
} else {
//not sure if necessary to create seperate vars here
var number_2_stored = strToNumber($("#number_1").val());
var number_1_stored =strToNumber($("#number_2").val());
number_2_calc = 0;
number_2_calc = number_2_stored +(number_1_stored * 0.1);
Math.round(number_2_calc).toFixed(2);
$("#number_2").val(number_2_calc);
}
});
所以当你填写任一字段然后聚焦时我会尝试制作它会相应地改变输入。当number_2聚焦时,这种方法很好,但是当你返回并更改number_1时,这些值会变得混乱。可能只是忽略了一些简单的东西,因为这不应该那么困难。
答案 0 :(得分:1)
对结果进行舍入时,需要指定回“number_2_calc”。
number_2_calc = Math.round(number_2_calc).toFixed(2);