我有两个输入框,一个接受用户输入并将其与596相乘,然后在更新<span>
的同时在第二个输入框中显示结果,并检查其PlanA或PlanB
function calculate() {
var ethBox = document.getElementById('eth').value;
var myResult = ethBox * 596;
document.getElementById('usd').value = myResult.toFixed(2);
if(ethBox < 10){
document.getElementById('span').innerHTML ="PlanA";
}else if(ethBox >= 11 && ethBox <=20){
document.getElementById('span').innerHTML ="PlanB";
}
}
它有效。
但我也希望第二个输入框中的用户输入除以596并在第一个输入框中显示结果,同时用条件语句同时更新<span>
function reverse() {
var usdBox = document.getElementById('usd').value;
var myResult = usdBox / 596;
document.getElementById('eth').value = myResult.toFixed(2);
}
此代码更改了第一个输入框的值,但它不会更新<span>
输入框
<input id="eth" onkeyup="calculate();" type="text">
<input id="usd" onkeyup="reverse();" type="text">
跨度
<span id="span"></span>
我还尝试使用onkeyup
和onchange
作为第一个无法正常工作的输入框
答案 0 :(得分:3)
您还需要在反向功能中添加以下代码。添加了一个common()方法来执行两种方法共有的任务。
var ethBox = document.getElementById('eth').value;
if(parseInt(ethBox,10) < 10){
document.getElementById('span').innerHTML ="PlanA";
}else if(ethBox >= 11 && ethBox <=20){
document.getElementById('span').innerHTML ="PlanB";
}
<script>
function calculate() {
var ethBox = document.getElementById('eth').value;
var myResult = ethBox * 596;
document.getElementById('usd').value = myResult.toFixed(2);
common();
}
function reverse() {
var usdBox = document.getElementById('usd').value;
var myResult = usdBox / 596;
document.getElementById('eth').value = myResult.toFixed(2);
common();
}
function common() {
var ethBox = document.getElementById('eth').value;
if(parseInt(ethBox,10) < 10){
document.getElementById('span').innerHTML ="PlanA";
}else if(ethBox >= 11 && ethBox <=20){
document.getElementById('span').innerHTML ="PlanB";
}
}
</script>
<input id="eth" onkeyup="calculate();" type="text">
<input id="usd" onkeyup="reverse();" type="text">
<span id="span"></span>