我将值输入div,其中id为totAmount
<div id="totAmount"><input type="text" value="" name="total" id="amount" class="input-block-level" autocomplete="off" required/></td></div>
我在这里打电话给myFunction以获取百分比值。
<input type="text" value="" onKeyUp = "myFunction(this)" name="'. $target['week'] . '" id="'. $target['week'] . '_percentage" class="input-block-level" autocomplete="off" required/>
这是myFunction.I可以得到div id值。但百分比计算不起作用。
function myFunction(element){
var v1 = document.getElementById("totAmount").innerHTML;
var percentage = parseInt(v1) * parseInt(v2) / 100;
alert(percentage);
var idString = element.getAttribute("id");
var amountId = idString.substr(0, idString.indexOf('_')) + '_amount'
document.getElementById(amountId).value = percentage;
var percent = document.getElementById(amountId).value;
percentAmounts.push(percent);
percentValues.push(v2);
}
答案 0 :(得分:1)
您认为两个来自哪里,假设它来自您设置input
的第二个onKeyUp
,请修改您的代码如下,以添加v2
的值,
var v1 = document.getElementById("totAmount").innerHTML;
var v2 = element.value;
我希望这有帮助!
答案 1 :(得分:0)
你有一些奇怪和错误的东西,其中有“”和诸如此类的东西。我认为你的百分比问题只是一个数学错误,尽管从描述中很难说。如果你想知道什么是其他东西的百分比,你将一个除以另一个,然后乘以100.所以你的等式应该是:
var percentage = (parseInt(v1) / parseInt(v2)) * 100;
我会看看我能否弄清楚其余的......这里有太多未知的东西让我把它解决掉。您的HTML是使用“。”从其他语言生成的。连接,也许是Python?在javascript中,您使用“+”。我无法弄清楚你是如何使用“$ target ['week']”的。无论如何,我尝试了解你正在尝试做什么的jsfiddle。如果有帮助的话,这就是:
答案 2 :(得分:0)
我不知道&#34; v2&#34;是。但显然&#34; v1&#34;是NaN,只是dom对象的innerHTML。您可以使用:
var v1=document.getElementById("totAmount").getElementsByTagName("input")[0].value
获取您可能需要的输入值。