在javascript中获取div id值的百分比值

时间:2015-12-09 04:51:12

标签: javascript

我将值输入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);

    }

3 个答案:

答案 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。如果有帮助的话,这就是:

https://jsfiddle.net/mw2qu8w0/

答案 2 :(得分:0)

我不知道&#34; v2&#34;是。但显然&#34; v1&#34;是NaN,只是dom对象的innerHTML。您可以使用:

var v1=document.getElementById("totAmount").getElementsByTagName("input")[0].value

获取您可能需要的输入值。