【问题标题】:Change var depending on dropdown list index item JS根据下拉列表索引项JS更改var
【发布时间】:2020-04-23 05:12:44
【问题描述】:

我正在尝试做一个贷款计算器,您可以在其中根据不同的兴趣和担保估算每月的游戏价值。

现在一切正常,但后来有人告诉我,我的 var S 变量取决于信用类型。

那个人说:

var S = Y*0.00342

但是

如果项目#0,5,6,10,16在下拉列表中被选中

那么

我的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;
}

也许我有语法错误?我不确定如何继续,但这会奏效吗?

【问题讨论】:

    标签: javascript function if-statement math calculator


    【解决方案1】:

    试试:

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

    无论您做什么,请始终确保对从 DOM 获得的任何内容进行清理以维护安全性。

    【讨论】:

    • 感谢您的回复。我应该在列表中解释更多...我会编辑
    • 哦,好吧!对此我还是觉得有点菜鸟。那么我应该如何写变量呢?喜欢var X = $("#list option:selected").val(); // for internal value 0, 1, 2, etc.
    • 我们都从某个地方开始 :) 不要出汗。假设您使用的是 jQuery,我已经将我的答案编辑为您正在寻找的内容。如果您还有其他问题,请回复评论。
    • 哦,非常感谢!!所以我应该把索引号放在'.val(0,5,6,10,16)'里面还是应该放在哪里?另外,清理我的输入是什么意思?
    • 我添加了第二个编辑...也许我可以这样做并以某种方式工作?我可能有语法问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多