使用HTML输入切换Javascript Else If.检查值并相应地显示结果.成本估算员
Javascript Else If switch using HTML input. Checking a value and displaying a result accordingly. Cost Estimator
我正在做一个简单的成本估算器。我想做一个else-if开关,检查估算值并显示依赖于这些值的特定字符串。成本估算正在工作,但我无法将Else If切换到功能。
这是我的代码笔:http://codepen.io/FredHair/pen/FgJAd
我试着试试这里:
function myContainer(){
var container;
var x = Number(document.getElementById("x").value);
var y = Number(document.getElementById("y").value);
var z = Number(document.getElementById("z").value);
if (z < 25 && x < 110 && y < 90 ){
container = "1";
}
else if (z < 25 && x < 110 && y < 180 ){
container = "2";
}
else if (z < 25 && x < 220 && y < 90 ){
container = "3";
}
else if (z < 50 && x < 110 && y < 90 ){
container = "4";
}
else if (z < 50 && x < 110 && y < 180 ){
container = "5";
}
else if (z < 50 && x < 220 && y < 90 ){
container = "6";
}
else if (z < 75 && x < 110 && y < 90 ){
container = "7";
}
else if (z < 75 && x < 110 && y < 180 ){
container = "8";
}
else if (z < 75 && x < 220 && y < 90 ){
container = "9";
}
else if (z < 100 && x < 110 && y < 90 ){
container = "10";
}
else if (z < 100 && x < 110 && y < 180 ){
container = "11";
}
else if (z < 100 && x < 220 && y < 90 ){
container = "12";
}
else{
container = "?"
}
document.getElementById("container").innerHTML = container;
}
这显然是为了在HTML h3 id="container"中显示一个值,但目前什么也没发生。
我哪里错了?有更好的设置方法吗?也许使用JQuery?任何帮助都将不胜感激。抱歉我的基本编码。
您的myContainer
函数从未被调用。如果你在显示结果后将其添加到你的其他函数中,你就会得到你想要的结果。例如:
...
//Display Result//
document.getElementById("result").innerHTML = " = £ " + result;
myContainer();
}
也就是说,你可以简化这两个函数。例如,switch语句并没有真正起到多大作用,因为您可以通过将值更改为50和30来修改标记以产生您想要的结果,例如:
<select id="choice" >
<option value = "1">1</option>
<option value = "50">2</option>
<option value = "30">3</option>
</select>
现在,在计算器函数中,可以使用三元运算符设置结果。你读起来像if语句,意思是(if the value is true) ? (do this) : (else do this)
。
function calculator(){
var x = Number(document.getElementById("x").value);
var y = Number(document.getElementById("y").value);
var z = Number(document.getElementById("z").value);
var choice = Number(document.getElementById("choice").value);
var result = (choice === 1) ? z * 3 : x * 3 + choice;
//Display Result//
document.getElementById("result").innerHTML = " = £ " + result;
myContainer(x,y,z); //pass the values of x, y, z as arguments
}
您也可以简化myContainer,直接从计算器函数将x、y和z的值传递给它,这样您就不需要返回DOM并再次检索这些值。
function myContainer(x, y, z){
var container;
//all your if-else here ..
document.getElementById("container").innerHTML = container;
}
相关文章:
- 如何将JavaScript结果显示为段落
- 敲除:可观察数组没有被正确绑定——只有1个结果显示,而api返回6
- 我的localStorage结果显示了[null,null,“something”]],而不是“”;什么”;
- 将咖啡转换为javascript,并将结果显示在Emacs中的标准输出中
- json结果显示第一个值
- 我该如何在旅途中添加一些段落,并将结果显示在带有段落标记的文档中
- 如何将搜索结果显示为“搜索结果”;显示300〃中的1-10〃;
- 为什么'谷歌分析内容实验结果显示
- 如何在Meteor中将多个数据库的结果显示为列表格式
- AJAX 没有接收有关成功的数据,它将结果显示为“未定义”
- J查询结果显示问题
- 谷歌地图(它没有将结果显示到我的输入窗格中以保存到我的数据库中)
- Ajax 结果显示未定义
- 配置谷歌分析_TrackEvent,以便结果显示在基本报告中
- 如何将 2 小时添加到当前日期时间并将结果显示回日期时间
- 单击后如何获取值文本作为结果按钮的结果 显示 按钮
- 过滤结果以显示与ng匹配的结果显示angular js
- 为什么json结果显示一个属性的NaN
- JavaScript-结果显示在IE,但不是Chrome或FF
- 将PHP/MySQLi结果显示为HTML表