我无法弄清楚为什么我的输入没有显示我的计算结果。根据输入的变化。我已经检查过在console.log中是否有输出,并且有,我使用IDE环境来开发一个已经注意到的错误,在编码时不会涉及代码它是IDE I'我想知道是不是这样吗?或者我的代码是不是正确的东西。
任何帮助将不胜感激
HTML
<td>InPut</td>
<td>
<input class="" id="bhp_1" type="number" value="440">
</td>
<td>OutPut</td>
<td>
<input class="" id="bpm_l60" type="number" value="567.11">
</td>
JavaScript
var manualEntry = function(){
var bhp = parseFloat($('#bhp_1').val());
var bhp2 = parseFloat($('#bhp_2').val());
var bhp3 = parseFloat($('#bhp_3').val());
var bhp4 = parseFloat($('#bhp_4').val());
var bhp5 = parseFloat($('#bhp_5').val());
var bhp6 = parseFloat($('#bhp_6').val());
var bhp7 = parseFloat($('#bhp_7').val());
var bhp8 = parseFloat($('#bhp_8').val());
var bhp9 = parseFloat($('#bhp_9').val());
var bhp10 = parseFloat($('#bhp_10').val());
var bhp11 = parseFloat($('#bhp_last').val());
return {
val: bhp,
val2: bhp2,
val3: bhp3,
val4: bhp4,
val5: bhp5,
val6: bhp6,
val7: bhp7,
val8: bhp8,
val9: bhp9,
val10: bhp10,
val11: bhp11
}
}
manualEntry();
// console.log(manualEntry());
//Filter for return object
var bhpKeys = Object.keys(manualEntry())
var bhpmatchingKeys = bhpKeys.filter(function(key) {
return key.indexOf('val', 'val2', 'val3', 'val4', 'val5', 'val6','val7','val8','val9','val10','val11') !== -1
});
var bhpmatchingValues = bhpmatchingKeys.map(function(key) {
return manualEntry()[key]
});
var bpm_l60 = function() {
var mySpline = new MonotonicCubicSpline(
[4000, 8000, 15000, 20000, 25000, 30000, 35000, 40000, 60000, 80000, 100000], bhpmatchingValues);
var total = mySpline.interpolate(43592.990983668795);
$('#bpm_l60').val(+total.toFixed(2));
$('#bpm').val(+total.toFixed(2));
return total;
};
bpm_l60();
Onchange listener
document.getElementById("bhp_1").onchange = (function() {
manualEntry();
bpm_l60();
});
以下是我遇到的问题的代码笔示例。 http://codepen.io/coryk/pen/zqgPyz?editors=1011
答案 0 :(得分:0)
将你的js代码放在
中window.onload = function() { }
答案 1 :(得分:0)
你在哪里打电话给<input>
听众?如果它是在创建$(document).on("change", "#bhp_1", function () {
manualEntry();
bpm_l60();
});
元素之前,它将无法工作。你已经在使用jQuery了,试试
{{1}}
答案 2 :(得分:0)
尝试将onchange事件更改为以下内容:
document.getElementById("bhp_1").onchange = function() {
manualEntry();
bpm_l60();
}
您目前正在做的是将函数包装在另一个方法调用()
中,这不是用于将onchange事件绑定到元素的正确语法。