Изменить var в зависимости от элемента индекса выпадающего списка JS - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь сделать кредитный калькулятор, где вы можете определить ежемесячную стоимость игры в соответствии с различными процентами и гарантиями.

сейчас все работает нормально, но потом мне сказали, что моя переменная var S зависит от типа кредита.

, что beign сказал:

var S = Y*0.00342

НО

если элементы # 0,5,6,10,16 выбраны в выпадающем списке

THEN

my var S становится

var S = Y*0.00042

, поэтому мой вопрос:

Как я могу сделать так, чтобы этот 'var s' зависел от элементов выпадающего списка?

как мне интегрировать это условие в функцию?

заранее спасибо! :)

РЕДАКТИРОВАТЬ: здесь список HTML --- значение будет использоваться в другом var

<select id="list" >

<option value="2">Avance de nomina</option>
<option value="1.092">Calamidad</option>
<option value="1.292">Compra de vehiculo</option>
<option value="1.342">Compra de cartera</option>
<option value="1.292">Compra de moto nueva</option>
<option value="1.892">Consumo</option>
<option value="0.842">Crediaportes</option>
<option value="1.342">Cuota inicial compra vivienda nueva</option>
<option value="1.342">Educativo</option>
<option value="2.142">Electrodomestico</option>
<option value="2.042">Gerencia</option>
<option value="2.292">Ordinario con codeudor</option>
<option value="2.292">Ordinario sin codeudor</option>
<option value="1.342">Pago impuesto y reforma vivienda</option>
<option value="1.542">Prima</option>
<option value="1.942">Turismo y recreación</option>
<option value="1.892">Convenios y seguros</option>
</select>

здесь функция в Javascript

function INTERES() {          
var x = document.getElementById("list").value;   
var y = document.getElementById("valor").value;  
var c = document.getElementById("cuotas").value;    
var P = x/100;
var A = 1+P
var E = Math.pow(A, c)
var PE = P*E;
var I = E-1
var PEI = PE/I;
var T = y*PEI;
var G  = document.getElementById("list").selectedIndex
var S = y*0.00042;
var payment = T+S+2000;
document.getElementById("CALCULATOR").innerHTML = formatter.format(payment.toFixed());


}

var S будет использоваться в таких функциях, как

 Payment = T + S + 2000

РЕДАКТИРОВАТЬ 2:

Я думаю, что я становлюсь ближе с этим

var S= y*0.00342;
var G = document.getElementById("list").selectedIndex ;
if (G === ["0", "5", "6", "10", "16"]) { 
 S = y*0.00042;
}

возможно у меня есть ошибка синтаксиса? Я не уверен, как поступить, но будет ли это работать?

1 Ответ

0 голосов
/ 23 апреля 2020

Попробуйте:

var S = Y*0.00342

if ([0,5,6,10,16].includes(document.getElementById("list").selectedIndex)) {
  var S = Y*0.00042
}

Независимо от того, что вы делаете, всегда следите за тем, чтобы вы продезинфицировали все, что вы получаете от DOM, для поддержания безопасности.

...