2016-04-11 1 views
-1

Привет, поэтому я пытаюсь сделать кредитный калькулятор с выпадающим списком. Вы вводите сумму, которую хотите взять взаймы, тогда выпадающий доход отображается с процентной ставкой 6,75% или 9,71%. Затем вы набираете, сколько месяцев вы хотите погасить кредит. Однако я сделал все, о чем я мог думать, и не работал? Кто-нибудь может мне помочь, пожалуйста? благодаряКредитный калькулятор с выпадающим списком с использованием javascript

это HTML-

<body> 
<p>Loan Amount: €<input id="amount" type="number" min="1" max="1000000" onchange="computeLoan()"></p> 


<p>Interest Rate: 
<select> 
    <option value="" disabled="disabled" selected="selected">Select A Loan Rate</option> 
    <!-- 6.75 loan --> 
    <option value="6.75" input id="interest_rate" onchange="computeLoan()">6.75%</option> 
    <!-- 9.71 loan --> 
    <option value="9.71" input id="interestRate" onchange="computeLoan()">9.75%</option> 
</select> 


<p>Months: <input id="months" type="number" min="1" max="60" value="1" step="1" onchange="computeLoan()"></p> 


<h2 id="payment"></h2> 

Это Javascript

// first function excute at a rate of 6.75% APR 
function computeLoan() 
{ 
    var amount = document.getElementById('amount').value; 

    var interest_rate = document.getElementById('interest_rate').value; 

    var months = document.getElementById('months').value; 

    var interest = (amount * (interest_rate * .01))/months; 

    var payment = ((amount/months) + interest).toFixed(2); 

    payment = payment.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 

    document.getElementById('payment').innerHTML = "Your Monthly Payment = € "+payment; 

} 

// Second function excute at a rate of 9.71% APR 

function computeLoan(){ 
    var amount = document.getElementById('amount').value; 

    var interestRate = document.getElementById('interestRate').value; 

    var months = document.getElementById('months').value; 

    var interest = (amount * (interestRate * .01))/months; 

    var payment = ((amount/months) + interest).toFixed(2); 

    payment = payment.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 

    document.getElementById('payment').innerHTML = "Monthly Payment = $"+payment; 
} 

Если кто-то может помочь мне о том, что сделать это было бы здорово! спасибо

+0

где он ломается? Вы действительно упоминаете проблему, с которой сталкиваетесь? – Fallenreaper

+0

Любые ошибки? ....... –

+0

, когда я запускаю код только одна из функций работает, скажем, если я прокомментирую вторую функцию, первая функция будет работать и отображать правильную сумму, и наоборот – ash3030

ответ

0

У вас не может быть двух функций, имеющих одно и то же имя.

Создайте одну функцию с условной логикой, которая зависит от значения select. Надеюсь, это поможет!

Кроме того, вы должны переместить атрибут onchange на элемент select вместо элементов option и получить значение select.

+0

вы можете объяснить Msgstr "Вы должны переместить атрибут onchange в элемент select вместо элементов опции и захватить значение select." в немного подробнее о том, что делать, пожалуйста? не 100% уверен, что благодаря – ash3030

+0

Что-то вроде этого, <выберите ID = «скорость» OnChange = «computeLoan()»> ... Затем в коде, делают процентная ставка равна стоимости избранных. Вы можете увидеть пример [здесь] (http://api.jquery.com/val/) –

+0

Я отдам ему благодарность – ash3030