gpt4 book ai didi

JavaScript if 语句 : apply when a certain value changes to another certain value

转载 作者:行者123 更新时间:2023-11-30 16:30:28 29 4
gpt4 key购买 nike

如何编写 if 语句,使其仅在选择框中的值 A 更改为值 B 时应用? https://jsfiddle.net/mademoiselletse/gv0ohdzv/1/

我有以下“英里”选择框和“剩余”输入框:

<div class="item_div"><label>Miles:</label>
<select id="miles">
<option value="10000">10,000</option>
<option value="12000" selected>12,000</option>
<option value="15000">15,000</option>
</select>
</div>
<div class="item_div">
<label>Residual: </label>
<input type="number" id="resP" class="rmVal" value="52"> %

</div>
<div>
<label>Result (10000*Residual)</label>
<input id = "result"></input>

</div>

我想为英里数加 1 <input>如果用户从 12000 变为 10000,则值。如果用户从 10000 变为 15000,我想减去 3。如果用户随后从 15000 变为 120000,我想 +1,依此类推。

相应里程的剩余值(value)为:
10000 英里:53%
12000 英里:52%
15000 英里:50%

我之所以要根据里程变化进行残值变化,是因为以后我希望用户可以手动更改残值,并根据里程调整残值。

$("#miles") 时,我尝试按照代码 +1从 12000 变为 10000,如果从 12000 变为 15000,则为 -2(第 13-26 行):

if (miles.val() == "12000") {
miles.change(function() {
if (miles.val() == "10000") {
resN = resN +.01;
resP.val(parseFloat(resP.val())+1);
calculate();
}
else if (miles.val() == "15000") {
resN = resN -.02;
resP.val(parseFloat(resP.val())-2);
calculate();
}
})
};

我为其他里程变化重复了 if 语句(第 27-55 行)。但是,该代码仅适用于第 1 英里和第 2 英里的更改。第3次就搞砸了。我想知道如何更正我的代码以及是否有更简单的方法来完成此操作。非常感谢!我非常感激!

最佳答案

将先前的值存储在变量中。

var cur_miles; // set default value of drop down

function milesChange (){
switch(cur_miles){
case "10000":
switch(miles.val()){
case "20000":
// Do 10000 was changed to 20000 code
break;
case "30000":
// Do 10000 was changed to 30000 code
break;
}
break;
case "20000":
//...changed from 20000
break;
default:
//...first time changed
break;
}
// set cur_miles to current value
cur_miles = miles.val();
}

关于JavaScript if 语句 : apply when a certain value changes to another certain value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33401935/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com