Menu
I simply would like to get the percentage of 2 numbers.
I can dynamically pull both numbers into input boxes. I would then need a third box to calculate the percentage between the two boxes.
Example:
total = 6
field = 2
Percentage = 33%
I have this code:
<input type=text value= name=”Total1″>
<input type=text value= name=”Dr1″>
<input type=text value= name=”Percentage1″>
I could have several instances or categories of this above on the same page.
thanks.
[code=html]<div class='perFinder'>
<input type='text' class='perTot' value='' name="Total1">
<input type='text' class='perVal' value='' name="Dr1">
<input type='text' class='perPer' value='' name="Percentage1">
</div>[/code]
// for safari
Document = document.constructor; HTMLElement = document.createElement("x").constructor;
// for all browsers
Document.prototype.getElementsByClassName = HTMLElement.prototype.getElementsByClassName = function(searchClass, tag){
var classElements = new Array();
if(tag == null)
tag = '*';
var els = this.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
for(var i = 0; i < elsLen; i++){
if(pattern.test(els[i].className)){
classElements.push(els[i]);
}
}
return classElements;
}
[code=php]window.addEvent = HTMLElement.prototype.addEvent = function(type, fn){
if(this.addEventListener){
this.addEventListener(type, fn, false);
}else
if(this.attachEvent){
obj.attachEvent("on"+type, fn);
}else{
obj["on"+type] = fn;
};
};
function setPercentages(){
var i, j, perPer, perTot, perVal, perSets = document.getElementsByClassName('perFinder');
for(i = perSets.length -1; i >=0; i--){
perPer = perSets[i].getElementsByClassName('perPer')[0];
perVal = perSets[i].getElementsByClassName('perVal')[0];
perTot = perSets[i].getElementsByClassName('perTot')[0];
j = Math.round(100 * parseInt(perVal.value, 10) / parseInt(perTot.value, 10));
if(isNaN(j)){
perPer.value = '';
}else{
perPer.value = j+'%';
};
};
};
window.addEvent('load', function(){
window.setInterval(setPercentages, 1000);
});
[/code]
[CODE]window.onload=function(){
var whosit=function(who,i){
if(typeof i !='number') return document.getElementsByName(who).length;
return document.getElementsByName(who)[i];
}
//x is the number of sets of inputs named'Total','Dr' and 'Percentage'
var x= whosit('Dr');
while(x>0){
--x;
if(whosit('Total',x) && whosit('Percentage',x)){
whosit('Dr',x).onchange= function(x){
var n= parseFloat(whosit('Total',x).value);
var d= parseFloat(whosit('Dr',x).value);
if(n && d) whosit('Percentage',x).value=(100/(n/d)).toFixed(2)+'%';
}
}
}
}
[/CODE]
<br/>
<script type="text/javascript">
function f(){
var t=document.getElementById('Total1');
var d=document.getElementById('Dr1');
var p=document.getElementById('Percentage1');
p.value=((d.value/t.value).toFixed(2)) *100 +"%";
}
</script>
</head>
<body>
<input type="text" value="6" name="Total1" id="Total1">
<input type="text" value="2" name="Dr1" id="Dr1">
<input type="button" value="calculate" onclick="f()">
<input type="text" value="" name="Percentage1" id="Percentage1" readonly="true">
<br/>
<script type="text/javascript">
function f(bu){
bu.value=bu.value.replace(/D+/,""); // if character is not a number, delete it.
//alert(bu.id);
var num= bu.id.replace(/D/,""); // number of id
var letter=bu.id.replace(/d/,""); // letter of id
// alert(num);
// alert(letter);
var a=document.getElementById('a'+num); // total
var b=document.getElementById('b'+num); //
var c=document.getElementById('c'+num); // percentage
c.value=Math.floor((b.value/a.value) *100 )+"%";
}
</script>
</head>
<body>a1, b1, c1 <br>
<input type="text" value="6" name="a1" id="a1" onkeyup="f(this)">
<input type="text" value="2" name="b1" id="b1" onkeyup="f(this)">
<input type="text" value="" name="c1" id="c1" readonly="true"><br><br>
a2, b2, c2 <br>
<input type="text" value="" name="a2" id="a2" onkeyup="f(this)">
<input type="text" value="" name="b2" id="b2" onkeyup="f(this)">
<input type="text" value="" name="c2" id="c2" readonly="true"><br><br>
a3, b3, c3 <br>
<input type="text" value="" name="a3" id="a3" onkeyup="f(this)">
<input type="text" value="" name="b3" id="b3" onkeyup="f(this)">
<input type="text" value="" name="c3" id="c3" readonly="true"><br><br>
<br/>
<script type="text/javascript">
function f(bu){
bu.value=bu.value.replace(/D+/,"");
var num= bu.id.replace(/D/,""); // number of id
var letter=bu.id.replace(/d/,""); // letter of id
var a=document.getElementById('a'+num); // total
var b=document.getElementById('b'+num); // oran
var c=document.getElementById('c'+num); // percentage
c.value=Math.floor((b.value/a.value) *100 )+"%";
}
window.onload=function (){
var i=1, a,b;
while(a=document.getElementById('a'+(i++))) {
b=document.getElementById('b'+(i-1));
a.onkeyup = b.onkeyup = function(){ f(this);}
}
}
</script>
</head>
<body><br>
a1, b1, c1 <br>
<input type="text" value="6" name="a1" id="a1" >
<input type="text" value="2" name="b1" id="b1" >
<input type="text" value="" name="c1" id="c1" readonly="true"><br><br>
a2, b2, c2 <br>
<input type="text" value="" name="a2" id="a2" >
<input type="text" value="" name="b2" id="b2" >
<input type="text" value="" name="c2" id="c2" readonly="true"><br><br>
a3, b3, c3 <br>
<input type="text" value="" name="a3" id="a3" >
<input type="text" value="" name="b3" id="b3" >
<input type="text" value="" name="c3" id="c3" readonly="true"><br><br>
<br/>
<script type="text/javascript">
function f(bu){
bu.value=bu.value.replace(/D+/,"");
var num= bu.id.replace(/D/,""); // number of id
var a=document.getElementById('a'+num); // total
var b=document.getElementById('b'+num); // oran
var c=document.getElementById('c'+num); // percentage
c.value=Math.floor((b.value/a.value) *100 )+"%";
}
window.onload=function (){
var i=1, a,b,c;
while(a=document.getElementById('a'+(i++))) {
b=document.getElementById('b'+(i-1));
c=document.getElementById('c'+(i-1));
c.value=Math.floor((b.value/a.value) *100 )+"%";
a.onkeyup = b.onkeyup = function(){ f(this);}
}
}
</script>
</head>
<body><br>
a1, b1, c1 <br>
<input type="text" value="6" name="a1" id="a1" >
<input type="text" value="2" name="b1" id="b1" >
<input type="text" value="" name="c1" id="c1" readonly="true"><br><br>
a2, b2, c2 <br>
<input type="text" value="100" name="a2" id="a2" >
<input type="text" value="40" name="b2" id="b2" >
<input type="text" value="" name="c2" id="c2" readonly="true"><br><br>
a3, b3, c3 <br>
<input type="text" value="120" name="a3" id="a3" >
<input type="text" value="30" name="b3" id="b3" >
<input type="text" value="" name="c3" id="c3" readonly="true"><br><br>
0.1.9 — BETA 6.16