所以我有两个文本框和一个提供费率的下拉菜单。两个文本框是以英寸为单位的值。我需要将输入作为值,向上舍入到下一个偶数,然后设置为变量。我在下面创建的值不是数字。我能做些什么来实现这一目标?为我的道歉
function calculate() {
var myBox1 = document.getElementById('box1').value;
//this takes the
// values from the inputs, and sets them as a variable
var myBox2 = document.getElementById('box2').value;
var myBox3 = document.getElementById('box3').value;
var result = document.getElementById('result');
var myBox4 = document.getElementById("myBox1").innerHTML =
Math.ceil(box1);
//this line of code
var myBox5 = document.getElementById("myBox2").innerHTML =
Math.ceil(box2);
// and this one, I cannot figure out how to combine given
//nature above
var myResult = ((myBox4 * myBox5) / 144) * myBox3;
result.value = myResult;
}
<td><input id="box1" type="text" oninput="calculate()" /></td>
<td><input id="box2" type="text" oninput="calculate()" /></td>
<td> <select id="box3" oninput="calculate()">
<option value="8">Clear</option>
<option value="7">Satin Etched</option>
<option value="6">Aqualite</option>
<option value="5">Spraylite</option>
</select></td>
答案 0 :(得分:1)
一步一步,你想要:
以下是您可以做的事情:
function calculate() {
var value1 = Math.ceil(document.getElementById('box1').value);
var value2 = Math.ceil(document.getElementById('box2').value);
var addedValues = value1 + value2;
document.getElementById('result').innerHTML = addedValues;
}
使用此代码,您必须有两个输入,id="box1"
和id="box2"
,并且您还必须有一个id="result"
元素来显示结果。
答案 1 :(得分:1)
我已删除了<td>
,因为您还没有提供他们所在的表格。
但是,您还需要result
的HTML元素。
一旦从HTML元素中获取值并将其放在变量中,就可以使用该变量 - 无需再从元素中获取值。
因此,不需要myBox4
和myBox5
。
您尝试从页面中获取HTML元素myBox1
和myBox2
,但它们是您在javascript中声明的变量。
您还尝试获取Math.ceil()
和box1
的{{1}} - 但这些是HTML元素的box2
- 而不是javascript变量。
在计算中不需要括号,因为在乘法和除法时,优先顺序不起作用。
所以你想要的工作原型是:
id