2014-02-10 15 views
0

以下是我的javascript計算工具,您可以在其中顯示某個值的百分比。那麼,如果價值是100美元,百分比是10%,那麼它將是10美元。之後,我剛剛添加了一個名爲「其他費用」的新字段,因此最終結果將爲20美元(如果其他費用值爲10美元)。但無法得到結果。無法用javascript添加結果

JavaScript部分:

<script type="text/javascript"> 
function incrementValue() 
{ 
    var value = parseInt(document.getElementById('pvalue1').value, 10); 
    value = isNaN(value) ? 0 : value; 
    value +=10000 
    document.getElementById('pvalue1').value = value; 
} 

function decrementValue() 
{ 
    var value = parseInt(document.getElementById('pvalue1').value, 10); 
    value = isNaN(value) ? 0 : value; 
    value -=10000 
    document.getElementById('pvalue1').value = value; 
} 

function incrementValueO() 
{ 
    var value = parseInt(document.getElementById('otherFees').value, 10); 
    value = isNaN(value) ? 0 : value; 
    value +=10000 
    document.getElementById('otherFees').value = value; 
} 

function decrementValueO() 
{ 
    var value = parseInt(document.getElementById('otherFees').value, 10); 
    value = isNaN(value) ? 0 : value; 
    value -=10000 
    document.getElementById('otherFees').value = value; 
} 


function toggleIncrement() 
{ 
    var value = parseFloat(document.getElementById('pvalue2').value, 10); 
    value = isNaN(value) ? 0 : value; 
    value +=0.1 
    value = parseFloat(value).toFixed(2) 
    document.getElementById('pvalue2').value = value; 
    $('#pvalue1').trigger("change"); 
} 

function toggleDecrement() 
{ 
    var value = parseFloat(document.getElementById('pvalue2').value, 10); 
    value = isNaN(value) ? 0 : value; 
    value -=0.1 
    value = parseFloat(value).toFixed(2) 
    document.getElementById('pvalue2').value = value; 
    $('#pvalue1').trigger("change"); 
} 

jQuery(document).ready(function(){ 
$('#pvalue1').change(function(){ 
var agentfee = parseFloat($('#pvalue1').val(), 10) * parseFloat($('#pvalue2').val(), 10)/100; 
var otherFees = parseFloat(document.getElementById('otherFees').value); 
var totalOtherFees = agentfee + otherFees; 
$('#pvalue3').val(totalOtherFees); 

var percentagereduce = parseFloat($('#pvalue2').val(), 10) - 0.1; 
var newvalue = parseFloat($('#pvalue1').val(), 10) * percentagereduce/100; 
$('#pvalue4').val(newvalue);   
var takevalue1 = parseFloat($('#pvalue3').val(), 10); 
var takevalue2 = parseFloat($('#pvalue4').val(), 10); 
var finalvalue = takevalue1 - takevalue2; 
var finalvalue = parseFloat(finalvalue).toFixed(2) 
$('#pvalue5').val(finalvalue); 
}); 

    $('#pvalue2').change(function(){ 


var agentfee = parseFloat($('#pvalue1').val(), 10) * parseFloat($('#pvalue2').val(), 10)/100; 
$('#pvalue3').val(agentfee); 

var percentagereduce = parseFloat($('#pvalue2').val(), 10) - 0.1; 
var newvalue = parseFloat($('#pvalue1').val(), 10) * percentagereduce/100; 
$('#pvalue4').val(newvalue);   
var takevalue1 = parseFloat($('#pvalue3').val(), 10); 
var takevalue2 = parseFloat($('#pvalue4').val(), 10); 
var finalvalue = takevalue1 - takevalue2; 

$('#pvalue5').val(finalvalue);  
}); 
}); 
</script> 

HTML部分:

<table border="0" cellpadding="5"> 
<tr> 
    <td>House Sale Price:</td> 
    <td>$</td> 
    <td><input name="pvalue1" class="form-control" onkeypress="validate(event)" placeholder=" Enter Sale Price" type="number" value="<?=$pvalue1?>" id="pvalue1" size="20" required ></td> 
    <td><input type="button" onClick="incrementValue()" value="+" /><input type="button" onClick="decrementValue()" value="-" /> </td> 
</tr> 
<tr> 
    <td>Rate quoted by agent:</td> 
    <td>%</td> 
    <td><input name="pvalue2" class="form-control" onkeypress="validate(event)" placeholder=" Percentage" type="number" value="<?=$pvalue2?>" id="pvalue2" size="20" required ></td> 
    <td><input type="button" onClick="toggleIncrement()" value="+" /><input type="button" onClick="toggleDecrement()" value="-" /></td> 
</tr> 
<tr> 
    <td>Other Fees</td> 
    <td>$</td> 
    <td><input name="otherFees" class="form-control" onkeypress="validate(event)" placeholder=" Enter Sale Price" type="number" value="<?=$pvalue1?>" id="otherFees" size="20" required ></td> 
    <td><input type="button" onClick="incrementValueO()" value="+" /><input type="button" onClick="decrementValueO()" value="-" /> </td> 
</tr> 

</table>                                                     
<input name="doRegister" type="submit" id="doRegister" value="Calculate" style="color:white;font-size:20px;" class="btn btn-primary"> 

<br><br> 
<h2>Results</h2> 
<table> 
<tr> 
<td>Agent Fees:</td> 
<td>$</td> 
<td><input name="pvalue3" onkeypress="validate(event)" class="form-control" placeholder="" type="number" value="<?=$pvalue3?>" id="pvalue3" size="10" class="resultfield" ></td></tr> 
<tr> 
<td></td> 
<td><span id='show-me' class="form-control" style='display:none'><input name="pvalue4" placeholder="" type="number" value="<?=$pvalue4?>" id="pvalue4" size="10" class="resultfield" ></span></td></tr> 
<tr> 
<td>Reducing the rate the agent is charging by 0.1% will save you: </td> 
<td>$</td> 
<td><input name="pvalue5" onkeypress="validate(event)" class="form-control" placeholder="" type="number" value="<?=$pvalue5?>" id="pvalue5" size="10" class="resultfield" ></td> 
</tr> 
</table> 
+1

「但不能得到結果」 - 你能更具體的問題是什麼?我認爲你的javascript代碼有一些錯誤(如果你的值是像「$ 10」的字符串,它們不是數字)?或者在其他地方有問題嗎? – Krease

+0

@Chris現在沒有「其他費用」字段,目前計算還行。這是我剛添加的一個新領域。如果您輸入100和10%,那麼代理費用結果將爲10.好但我想添加其他字段值。所以結果將是(代理費+其他費用) – Babu

+0

因此,如果我理解正確,「otherFees」有問題?我看到它在這裏使用:'document.getElementById('otherFees')。value' - 這是問題所在嗎?這是什麼回報? – Krease

回答

0
你有沒有書面otherFee變化功能這可以像如下,將包括在準備功能

$('#otherFees').change(function(){ 
var agentfee = parseFloat($('#pvalue1').val(), 10) * parseFloat($('#pvalue2').val(), 10)/100; 
var otherFees = parseFloat(document.getElementById('otherFees').value); 
var totalOtherFees = agentfee + otherFees; 
$('#pvalue3').val(totalOtherFees); 

var percentagereduce = parseFloat($('#pvalue2').val(), 10) - 0.1; 
var newvalue = parseFloat($('#pvalue1').val(), 10) * percentagereduce/100; 
$('#pvalue4').val(newvalue);   

var takevalue1 = parseFloat($('#pvalue3').val(), 10); 
var takevalue2 = parseFloat($('#pvalue4').val(), 10); 
var finalvalue = takevalue1 - takevalue2; 
var finalvalue = parseFloat(finalvalue).toFixed(2) 
$('#pvalue5').val(finalvalue); 
}); 
+0

結果沒有顯示...你可以在jsfiddle中顯示我嗎? – Babu

+0

http://jsfiddle.net/dzv4q/ –

+0

爲什麼結果不顯示...? – Babu