- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试自动计算 4 个下拉选择选项的剩余百分比。这是我到目前为止的代码,但我似乎无法让它工作。计算后,未开发百分比应为总百分比加起来减去100%。例如,如果 4 个项目中的每一个都使用了 10%,则未开发的项目将为 60%。非常感谢任何帮助。
<html>
<head>
<title>Calculation</title>
<script language="javascript" type="text/javascript">
function calcPercentUseSum(){
var Percent1 = document.getElementsByName("SingleFamilyUsePercent");
var strUser = Percent1.options[Percent1.selectedIndex].value;
var Percent2 = document.getElementsByName("MultifamilyUsePercent");
var strUser = Percent2.options[Percent2.selectedIndex].value;
var Percent3 = document.getElementsByName("CommericalUsePercent");
var strUser = Percent3.options[Percent3.selectedIndex].value;
var Percent4 = document.getElementsByName("IndustrialUsePercent");
var strUser = Percent4.options[Percent4.selectedIndex].value;
document.getElementsByName("Undeveloped").value = Percent1
+ Percent2
+ Percent3
+ Percent4;
}
</script>
</head>
<body>
<form method="post" action>
<table width="640">
<tr>
<td colspan="5"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<th rowspan="3" colspan="3" valign="bottom" align="left"> Present Use:</th>
</tr>
<tr>
<td style="height: 21px"> </td>
<td style="height: 21px"></td>
</tr>
<tr>
<th colspan="3" align="left" style="height: 18px"> </th>
</tr>
<tr>
<td style="height: 25px"> </td>
<td colspan="2" style="height: 25px"> </td>
<td style="height: 25px">Single Family</td>
<td style="height: 25px"><select size="1" name="SingleFamilyUsePercent"
onchange="calcPercentUseSum" value="Single Family" tabindex="92">
<option value=""></option>
<option value="0%">0%</option>
<option value="5%">5%</option>
<option value="10%">10%</option>
<option value="15%">15%</option>
<option value="20%">20%</option>
<option value="25%">25%</option>
<option value="30%">30%</option>
<option value="35%">35%</option>
<option value="40%">40%</option>
<option value="45%">45%</option>
<option value="50%">50%</option>
<option value="55%">55%</option>
<option value="60%">60%</option>
<option value="65%">65%</option>
<option value="70%">70%</option>
<option value="75%">75%</option>
<option value="80%">80%</option>
<option value="85%">85%</option>
<option value="90%">90%</option>
<option value="95%">95%</option>
<option value="100%">100%</option>
</select></td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
<td>Multifamily</td>
<td><select size="1" name="MultifamilyUsePercent" onchange="calcPercentUseSum"
value="Multifamily" tabindex="93">
<option value=""></option>
<option value="0%">0%</option>
<option value="5%">5%</option>
<option value="10%">10%</option>
<option value="15%">15%</option>
<option value="20%">20%</option>
<option value="25%">25%</option>
<option value="30%">30%</option>
<option value="35%">35%</option>
<option value="40%">40%</option>
<option value="45%">45%</option>
<option value="50%">50%</option>
<option value="55%">55%</option>
<option value="60%">60%</option>
<option value="65%">65%</option>
<option value="70%">70%</option>
<option value="75%">75%</option>
<option value="80%">80%</option>
<option value="85%">85%</option>
<option value="90%">90%</option>
<option value="95%">95%</option>
<option value="100%">100%</option>
</select></td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
<td>Commericial</td>
<td><select size="1" name="CommericalUsePercent" onchange="calcPercentUseSum"
value="Commericial" tabindex="94">
<option value=""></option>
<option value="0%">0%</option>
<option value="5%">5%</option>
<option value="10%">10%</option>
<option value="15%">15%</option>
<option value="20%">20%</option>
<option value="25%">25%</option>
<option value="30%">30%</option>
<option value="35%">35%</option>
<option value="40%">40%</option>
<option value="45%">45%</option>
<option value="50%">50%</option>
<option value="55%">55%</option>
<option value="60%">60%</option>
<option value="65%">65%</option>
<option value="70%">70%</option>
<option value="75%">75%</option>
<option value="80%">80%</option>
<option value="85%">85%</option>
<option value="90%">90%</option>
<option value="95%">95%</option>
<option value="100%">100%</option>
</select></td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
<td>Industrial</td>
<td><b>
<select size="1" name="IndustrialUsePercent" onchange="calcPercentUseSum"
value="Industrial" tabindex="95" style="height: 21px">
<option value=""></option>
<option value="0%">0%</option>
<option value="5%">5%</option>
<option value="10%">10%</option>
<option value="15%">15%</option>
<option value="20%">20%</option>
<option value="25%">25%</option>
<option value="30%">30%</option>
<option value="35%">35%</option>
<option value="40%">40%</option>
<option value="45%">45%</option>
<option value="50%">50%</option>
<option value="55%">55%</option>
<option value="60%">60%</option>
<option value="65%">65%</option>
<option value="70%">70%</option>
<option value="75%">75%</option>
<option value="80%">80%</option>
<option value="85%">85%</option>
<option value="90%">90%</option>
<option value="95%">95%</option>
<option value="100%">100%</option>
</select></b></td>
</tr>
<tr>
<td> </td>
<td colspan="2"> </td>
<td>Undeveloped</td>
<td><input name="Undeveloped" readonly="readonly" type="text" /></td>
</tr>
</table><br />
<input type="submit" value="Save Form" name="tbSubmit" tabindex="253" />
</form>
</body>
</html>
最佳答案
看看你的函数。您正在从每个 <select>
中获取正确的值选项,但随后您将结果存储在名为 strUser
的变量中您已[重新]声明了四次。您覆盖了该值,然后甚至没有使用它。
您正在尝试对实际 HTML <select>
求和(使用 +)元素,而不是您(尝试)提取的选定值。
将值分配给单独的变量,然后将它们转换为整数。我会删除 value
中的“%”符号HTML 中的属性,以便更容易使用。一旦你做到了,那么你基本上只需要这样做
var Percent1 = document.getElementsByName("SingleFamilyUsePercent")[0];
var Value1 = Percent1.options[Percent1.selectedIndex].value;
var Percent2 = document.getElementsByName("MultifamilyUsePercent")[0];
var Value2 = Percent2.options[Percent2.selectedIndex].value;
...
var Total = parseInt(Value1) + parseInt(Value2);
var Remainder = 100 - Total;
document.getElementsByName("Undeveloped")[0].value = Remainder;
我输入[0]
在那里,因为(我很确定)getElementsByName
返回元素的列表,而不是单个元素。实际上,您应该更愿意提供您的输入 ID
属性,然后使用 getElementById
相反。
关于javascript - 计算百分比余数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15168645/
整数除法 / 和取模 % 运算在编程中经常一起使用,有时甚至在相同的操作数和后续行中使用。例如,下面的 C 函数是一个简单的函数,它将 2 个数字的 / 的结果与其 % 的结果相加,就是这样做的: i
我在我应该修复的程序中发现了一个函数,该函数的 mod函数定义: int mod(int a, int b) { int i = a%b; if(i 2 17 % -3 -> 2 -1
找出能被 1 到 N 的所有数整除且不留余数的最小数。由于数字可能非常大,我们将答案取模 1000000007。 我认为能被从 1 到 N 的所有数字整除的最小数字是 LCM(1..N)。 示例:对于
昨天我完成了 Chris Pine 的“学习编程”一书中的练习 (9.5)。它是老式罗马数字转换器的整数。 我是这样做的: def old_roman_numeral number roman
在 x64/sse 上使用矢量指令计算 x % M 的最佳/最快方法是什么? (% 我的意思是模数/余数)。 我找不到 packed mod 的任何操作码,所以我认为我能做的最好的事情是将 int 提
在 C# 中,是否有 C99/IEEE 754 的 remainder() 的完全等价物?功能? C# language specification says operator %(double x,
我刚看完 this topic (尤其是最后的评论)。 然后我想知道,为什么我们实际上需要这是给出余数。但似乎之前“在谷歌”上的人并不多...... 最佳答案 如果你正在寻找你想要它的原因,一个是所谓
我试图记住数学是如何计算出来的,以计算循环冗余检查中 XOR 算法的剩余部分,以验证网络消息的剩余位。 我不应该扔掉那本教科书。 这在代码中很容易完成,但是如何手工完成呢? 我知道它看起来有点像标准除
我为此做了很多搜索,但仍然不够幸运。 我知道默认情况下,Crystal Reports 中的 MOD/REMAINDER 函数适用于整数。 小数除以整数的余数有什么出路? 示例:2.454 mod 1
我为此做了很多搜索,但仍然不够幸运。 我知道默认情况下,Crystal Reports 中的 MOD/REMAINDER 函数适用于整数。 小数除以整数的余数有什么出路? 示例:2.454 mod 1
尝试将 rowCounter 除以 2 时如何在 ASP.NET Razor 中执行此操作?我收到红色下划线语法错误,提示“无法将类型‘long’隐式转换为‘bool’ long rowCounter
我试图使用 emu8086 工具将 (Unsigned) 8A32F4D5 除以 C9A5。我预计商为 AF73H,余数为 94B6H。编写以下代码后,我得到了正确的商,但余数变成了 0000h。我错
我试图使用 emu8086 工具将 (Unsigned) 8A32F4D5 除以 C9A5。我预计商为 AF73H,余数为 94B6H。编写以下代码后,我得到了正确的商,但余数变成了 0000h。我错
阅读@anton的答案在这个link我试着看看 remainder(x, y) 是否真的是 x-(round(x/y)*y)。 针对 x=5. 和 y=2. 的值运行代码。我得到了: printf("
我是一名优秀的程序员,十分优秀!